股票

EEPROM(AT24C512)调试总结

这两周一直在测试AT24C512,之前用的EEPROM是AT24C16,与其相比,AT24C512有一些改动:

        1,寻址空间变大,数据地址由8位变为16位,因此写入时序需要加入高、低位地址写入;

        2,C16是单地址操作,不能并联使用,C512有两位地址位,因此需要写入器件地址;

        3,还有就是C16是铁电,而C512是EEPROM,这点儿改动,让我苦不堪言…….

迄今为止,已经发现的各类问题有:

        1,写入等待问题。EEPROM的写入速度极慢(毫秒级),这就要求MCU在写入字节时需要进行等待,于是就产生了各种问题。首先是延迟太少的话造成写入不完全,我第一次测试时写入19个字符,开始能成功写入3个,后来6个,随着时间增加,变为16个,但是再增加延迟已经不再起作用,因为已经影响到中断的正常运行了。后来改为读取写入后的返回码,读取不成功时执行while循环,发现总是堵死在写入过程中。

        2,第五字符写入错误。每次写入一个字符串时,第五个字符总被写为 “C0” ,具体原因还不清楚。无论是写入五个字符还是十个字符,第五个总会变为 “C0”。

        3,字符串写入不完全。每次字符串写入不完全,最后总会少那么一两个,添加了较长时间的延迟也无法解决。

打赏
原文链接:,转发请注明来源!

发表评论