首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

向EEPROM中写数据的有关问题

2012-06-11 
向EEPROM中写数据的问题如过在加电后,向EEPROM中写数据,按64个字(16比特)为一组写。如果有一组的起始地址错

向EEPROM中写数据的问题
如过在加电后,向EEPROM中写数据,按64个字(16比特)为一组写。如果有一组的起始地址错了,然后的地址是接着下一组64的。那么着写没写的位置可能是什么值?

[解决办法]
写清楚EEPROM型号。
有些支持连续写16字节。
如果起始地址不是16的倍数(注意差一错误),则会在所在16字节空间内循环。除非该型号支持自动递增16页地址。
例如第一个连续16字节起始地址是 000H;可以连续写入 000H ~ 00FH;使用连续写功能时,从000H到001H是EEPROM自己自动递增地址1的。不要host处理。不过从00FH到010H,EEPROM则一般都做不到。
[解决办法]
64个字一组,需要分成8次写入,每次8个字(16字节)。固定每8个字一定写到E2PROM起始地址为**0H的地方。不满足这一要求,就不符合页写的规定,就会导致错误。错误的表现形式是:写入数据在16字节(**0~**FH)的范围内循环覆盖。
[解决办法]
那么着写没写的位置可能是什么值?
-----------------------------------------
那要看芯片厂商喜欢什么体位了, 可能是全0, 也可能是全1.
[解决办法]
24CXXX的超过一页是会回滚的,另外注意下writecycle

热点排行