举报
wubangmi 发表于 2022-10-10 10:47 我严重怀疑你代码搞错了,好好翻一下用户手册的FLASH章节,看对flash操作需要注意些什么。 ...
zhxingyu 发表于 2022-10-10 11:29 谢谢回复!读后如果不上锁Flash_LockAll();,读写都正常,都是跟着例程来的。 ...
wubangmi 发表于 2022-10-10 13:23 我在例程上加了点东西,完全没有你说的现象。 打印的数据很正确,就是我上次写进去的数据。 ...
void Read_EEPROM_StrData(uint32_t Addr,uint16_t Len,uint8_t *Dat) { uint16_t i; Flash_UnlockAll(); for(i=0;i<Len;i++) { *Dat = *((volatile uint8_t*)(Addr+i)); Dat ++; } //Flash_LockAll(); } 需要加入Flash_UnlockAll();读值才正常,试过多次。
zhxingyu 发表于 2022-10-10 14:25 如果把地址改一下,是否第一次正常,后面不正常?
martinhu 发表于 2022-10-11 19:51 Flash_LockAll()和Flash_UnlockAll()与读flash没有关系。读flash主要是看MCU系统主频,与flashwait cycle是 ...
wubangmi 发表于 2022-10-12 08:58 你可以试一下,默认的4M主频,启动前已经加载过4M主频了,main函数一上来就读FLASH地址的值,然后正常的 ...
zhxingyu 发表于 2022-10-12 10:01 试过,把Flash_LockAll()去掉,加flash初始化,一样的。
martinhu 发表于 2022-10-12 16:16 试过了,先读到数组里,再擦除和写入,没问题啊,用的也是2.0.0的库
本版积分规则 发表回复 回帖后跳转到最后一页
时间类勋章
人才类勋章
发帖类勋章
等级类勋章
69
309
3
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号