问题描述
在使用正点原子的STM32F407写flash例程时,发现STMFLASH_Write函数没办法写入数据到flash,原始代码输入下:
随后对每一行代码的结果进行分析,发现87行的"FLASH_ProgramWord(WriteAddr,*pBuffer)"返回值是7,一直是写入异常。
解决办法
由于没找到解决办法,于是去下载了ST官方的示例代码查找下思路,在"STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Examples\FLASH\FLASH_Program"目录下有FLASH的示例代码。
发现示例代码在解锁后还要清除一些标志位,于是把这句清除标志位代码加到自己代码里面,再次运行,Flash就能正常写入了!
补充说明,这些标志位的作用如下表所示: