GD32F303读写Flash数据代码
时间: 2024-09-23 21:03:44 浏览: 68
GD32F303系列是STM32的一款微控制器,它通常使用嵌入式闪存(Flash)作为程序存储和数据存储。在GD32F303上操作Flash需要通过特定的库函数和支持硬件特性。
下面是一个简单的示例,展示如何使用STM32CubeMX生成的驱动程序来读取和写入Flash数据:
```c
#include "stm32f3xx_hal.h"
// Flash操作宏,这里假设使用HAL库
#define FLASHrasePage() HAL_FLASHEx_FlashErase(FLASH_KEY, FLASH_BANK_1, (uint32_t)0x08000000, 1)
#define FLASH_programPage(page, data) HAL_FLASHEx_FlashProgram(FLASH_KEY, FLASH_BANK_1, (uint32_t)page * 4096, (uint32_t*)data, 4096)
void write_to_flash(uint32_t address, uint32_t value) {
// 先擦除目标页
FLASHrasePage();
// 然后写入数据
FLASH_programPage(address / 4096, &value);
}
void read_from_flash(uint32_t address, uint32_t* data) {
// 读取指定地址的数据
HAL_FLASHEx_FlashReadIDR(FLASH_KEY, FLASH_BANK_1, address, data);
// 数据已存储在data指针处
}
阅读全文