69
309
951
高级技术员
使用特权
0
491
1423
助理工程师
wubangmi 发表于 2022-10-10 10:47 我严重怀疑你代码搞错了,好好翻一下用户手册的FLASH章节,看对flash操作需要注意些什么。 ...
zhxingyu 发表于 2022-10-10 11:29 谢谢回复!读后如果不上锁Flash_LockAll();,读写都正常,都是跟着例程来的。 ...
1665379266641.jpg (385.82 KB )
下载附件
2022-10-10 13:21 上传
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(); }
zhxingyu 发表于 2022-10-10 14:25 如果把地址改一下,是否第一次正常,后面不正常?
1
3
实习生
1107
3336
中级工程师
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初始化,一样的。
27155634677a001c20.png (428.53 KB )
2022-10-12 16:15 上传
martinhu 发表于 2022-10-12 16:16 试过了,先读到数组里,再擦除和写入,没问题啊,用的也是2.0.0的库
1665624088106.jpg (258.75 KB )
2022-10-13 09:23 上传
1935
1万
4万
版主
72
3307
9933
技术达人
100
3306
9948
50
3322
9972
68
3433
资深工程师
发表回复 本版积分规则 回帖后跳转到最后一页
时间类勋章
人才类勋章
发帖类勋章
等级类勋章
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号