Stm32f030 FLASH模拟EEPROM出错

2019-08-17 03:15发布

之前在M3核STM32F103系列都是使用FLASH模拟EEPROM存储数据,现在根据之前的移植到M0核STM32F030单片机写会出错。关键代码如下,望解答

    FLASH_Unlock();        //解锁
    FLASHStatus = FLASH_COMPLETE;  
    FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);
    FLASHStatus = FLASH_ErasePage(FlashAddr);         

    FLASH_ProgramWord(FlashAddr, *DataBuf);//在指定地址编写半字
    FLASH_Lock();


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
DongInker
1楼-- · 2019-08-17 06:21
问题解决了,写数据进FLASH里面是调用4字节写函数,所以将u8缓存数组强制转换赋值给u32*,这个在STM32F103系列正常,在STM32F030就异常,现在解决方案就是将u8缓存数组定义成u32数组。 个人认为是M0与M3处理对齐不同。
FantaSy_
2楼-- · 2019-08-17 07:32
这个要看下F0的芯片手册啦!!!
憨厚诚实大叔
3楼-- · 2019-08-17 11:33
小伙子,我等下就准备弄个这个,等我弄出来了再来跟你逼逼
flytent
4楼-- · 2019-08-17 14:16
楼主可以给一份030的FLASH模拟eeprom的代码么?
DongInker
5楼-- · 2019-08-17 14:42
 精彩回答 2  元偷偷看……

一周热门 更多>