/*FLASH读写程序*/
#define ADDR_USER_DATA 0x0801F800 //要写入地址
void Flash_RW(void)
{
uint32_t data = 0;
uint32_t PageError = 0;
FLASH_EraseInitTypeDef FlashSet;
data = *((uint32_t*)ADDR_USER_DATA);
data++;
HAL_FLASH_Unlock();
FlashSet.TypeErase = FLASH_TYPEERASE_PAGES;
FlashSet.Banks = FLASH_BANK_1;
FlashSet.Page = 63;
FlashSet.NbPages = 1;
HAL_FLASHEx_Erase(&FlashSet, &PageError);
HAL_FLASH_Program(TYPEPROGRAM_DOUBLEWORD,ADDR_USER_DATA, (uint32_t)data);
HAL_FLASH_Lock();
printf("%d\r\n",data);
}
STM32 使用内部FLASH存储读取数据
最新推荐文章于 2024-11-12 18:05:37 发布
本文介绍了一个针对用户数据的Flash读写程序,包括如何设置地址ADDR_USER_DATA0x0801F800,使用HAL_FLASH进行页面擦除和数据写入,最后解锁和锁定Flash。通过实际操作演示了数据的读取和更新过程。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
906

被折叠的 条评论
为什么被折叠?



