[PIC®/AVR®/dsPIC®产品] 关于25Q128芯片的扇区擦除

[复制链接]
12954|37
coody 发表于 2021-7-28 09:58 | 显示全部楼层
我也用这个FLASH,按手册写的驱动,没有问题的。
 楼主| dzxc_wh 发表于 2021-7-28 10:31 | 显示全部楼层
感谢20楼,我试下加上写禁止命令
 楼主| dzxc_wh 发表于 2021-7-28 10:54 | 显示全部楼层
1、增加了写禁止命令,效果一样,还是有误擦除的
2、被误擦除的地址是有规律的,都是在正常需要擦除的地址的基础上增加256页,就是64K字节后,然后再64K字节后。。。。。。也是被误擦除
 楼主| dzxc_wh 发表于 2021-7-28 11:17 | 显示全部楼层
在整片擦除、也写完成后也增加了写禁止命令,效果也是一样的,感觉是得了癌症了
 楼主| dzxc_wh 发表于 2021-7-28 11:20 | 显示全部楼层
有点没招了,新建工程,把其它的所有无关的全删除掉
 楼主| dzxc_wh 发表于 2021-7-28 15:54 | 显示全部楼层
新建的工程效果一样
 楼主| dzxc_wh 发表于 2021-7-30 07:28 | 显示全部楼层
问题搞定。函数本身没有问题,出问题的地方在函数的使用。比如对于页写和页读函数,原来代进去的参数,地址是用page*256,当这个乘出来的值小于0x001000的时候没问题,大于这个值的时候,高位还是0,也就是说我读写的地址错误。解决的办法是将page强制转换成unsigned long类型,然后左移8位就可以了。
感谢各位高手的指点。

评论

赞赞赞赞赞  发表于 2022-4-7 13:31
wiba 发表于 2021-8-11 13:57 | 显示全部楼层
不小心擦掉敏感地址?
nawu 发表于 2021-8-11 13:59 | 显示全部楼层
如何确认确实擦除的想象中的那片区域呢
qcliu 发表于 2021-8-11 14:01 | 显示全部楼层
换一个片子试试
tfqi 发表于 2021-8-11 14:52 | 显示全部楼层
以后我也需要注意这个问题
zljiu 发表于 2021-8-11 15:26 | 显示全部楼层
恭喜楼主解决问题
 楼主| dzxc_wh 发表于 2021-8-12 10:16 | 显示全部楼层
nawu 发表于 2021-8-11 13:59
如何确认确实擦除的想象中的那片区域呢

把擦除区域的数据读回来,如果全是FF,就说明是擦除了,否则就是没擦除
 楼主| dzxc_wh 发表于 2021-8-12 10:16 | 显示全部楼层
qcliu 发表于 2021-8-11 14:01
换一个片子试试

不是芯片的问题,是函数调用的问题
qcliu 发表于 2021-9-4 18:14 | 显示全部楼层
是哪个函数的调用问题啊
mdc9 发表于 2022-4-7 13:22 | 显示全部楼层
同样遇到此问题!!!请问你怎么解决的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部