上两期我们讲了GPIO的初始化和使用,今天我们来讲一下STM32中如何保存数据到FLASH中。要看注意事项!!!
这里也是先看一下固件库函数手册:
写入FLASH数据
这里我们主要使用到的函数有:
FLASH_Unlock(); //解锁FLASH编程擦除控制器
/**
参数:需要清除的标志位,具体标志位看下图
**/
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除标志位
//在写入FLASH时候要先擦除整页的数据
FLASH_ErasePage(add); //擦除指定地址页的数据
FLASH_ProgramHalfWord(add,dat); //从指定页的addr地址开始写
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清除标志位
//锁定FLASH防止程序误操作
FLASH_Lock(); //锁定FLASH编程擦除控制器
FLASH具体标志位