[疑难问答] IAP存储问题

[复制链接]
 楼主| veryyd 发表于 2010-3-22 17:52 | 显示全部楼层 |阅读模式
用IAP做存储
第一次存,从0x2000开始,存6个数据,0xaa;存后读出数据正确。
第二次存,还是0x2000开始,存6个数据,0x55;存后读出数据就错误了。

后来发现,如果我在第二次存之前,先执行页擦除,在存数据,就可以存进去了。
是否就是说Megawin的IAP做存储的时候,如果是同一页,必须先将里面的数据读出来,然后擦除,才能存进去???

总结来说:IAP可以字节读/写,页擦除。写的时候,必须先将页擦除。

是不是这样???请问??
David_ming 发表于 2010-3-22 18:33 | 显示全部楼层
本帖最后由 David_ming 于 2010-3-22 18:40 编辑

1# veryyd

可以这样讲,IAP是flash的一部分,和EEPROM是不同的,笙泉的datasheet上面也很负责任的写着IAP,而非EEPROM,EEPROM可以直接读写,而且寿命更长,flash的特点是只能把1写成0,反过来就不行,这就是为什么写数据之前要确保这个byte是0xff的原因。

评分

参与人数 1威望 +1 收起 理由
yidou + 1

查看全部评分

五谷道场 发表于 2010-3-22 18:34 | 显示全部楼层
还真没考虑过这个……
xwj 发表于 2010-3-22 18:43 | 显示全部楼层
2楼正解,flash的特点是只能把1写成0,反过来就不行。
sz_n053 发表于 2010-3-22 21:30 | 显示全部楼层
2 楼讲话中肯.....
 楼主| veryyd 发表于 2010-3-23 09:57 | 显示全部楼层
完全明白,只能把1写成0.只有擦除才能把0变成1.
yidou 发表于 2010-3-23 19:31 | 显示全部楼层
进来看看
hqgboy 发表于 2010-4-15 10:02 | 显示全部楼层
MARK.
linhai2009 发表于 2010-4-15 12:53 | 显示全部楼层
还得注意这么多东西,学习了
net7505 发表于 2010-5-10 19:51 | 显示全部楼层
还有IAP写的次数比EEPROM小很多倍。小心用
xiaohuai 发表于 2010-5-10 22:34 | 显示全部楼层
也就是说必须擦除了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

75

帖子

3

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