如何学嵌入式(问一问:怎么读取eeprom数据)
想必现在很多人对于如何学嵌入式方面的知识都比较想要了解,如今张女士就在互联网上为大家归纳了一些关于怎么读取eeprom数据相关的信息来分享给大家,希望能够帮助到...
如何学嵌入式
想必现在很多人对于如何学嵌入式方面的知识都比较想要了解,如今张女士就在互联网上为大家归纳了一些关于怎么读取eeprom数据相关的信息来分享给大家,希望能够帮助到大家哦。
发布了关于IIC文章结束后,一粉丝私信问我:IIC时序也是对的,但偶尔会遇到EEPROM读错内容的原因是什么?
粉丝提到的问题很普遍,很多朋友可能会遇到同样的问题;这个问题具有不易复制,影响大,难以调查的特点;也就是说,公司不能测试,但出现在客户身上。由于EEPROM存储的内容通常更重要,比如公司LOGO,序列号、机器型号等。问题发生后很难向客户解释;用上位机重写一次就好了,可能半年一年又出现一次,苦不堪言,失去了很多客户。
由于IIC大多数应用都和EEPROM我们学习IIC时序也是为了应用;所以今天作者就是这样AT24C以64为例,谈谈我的对EEPROM理解EEPROM数据失败的原因,以及如何通过软件来避免这个问题。
从两个方面分析原因:
1.选择具有WP写保护引脚的装置,防止误写。现在很多装置都有写保护功能,首先会WP高,需要写时低,写完再高;防止误操作。
AT24C64(8-Pin SOIC)
2.将EEPROM参数按页面分类EEPROM存储空间大,我们可以根据页面对内容进行分类,分为只读区和可读可写区;可读可写区可分为用户设置区、机器内部参数区等。只读区只能存储出厂后不变的数量,如序列号、机器配置等;
AT24C64按页面划分-示例
3.备份重要参数;因为EEPROM存储空间大,可以备份重要参数。一旦重要参数读取失败,可以读取备份页面,保证数据不丢失;
AT24C64每页内容格式
4.推荐页写。EEPROM提供两种写作方式,字节写作和页面写作;页面写作,EERPOM存储内容清晰,定位有问题。EEPROM时间也很短,不容易中断时间顺序;如果写作顺序有问题,不影响只读区域和重要参数;作者使用多年,没有数据丢失。
按字节页写EEPROM过程
1) 设置IIC从总线到空闲状态,重新发送起始条件,再写多次;可立即或分时写;
2) 若多次写不成功,提示EEPROM写作失败;这样客户就可以在看到报警信息后更换产品,减少损失;
3)如果写得成功,按照上述顺序写备份页;确保重要数据的可靠性;
1.建议随机阅读。EEPROM还提供了三种阅读方法;分为直接阅读、随机阅读和顺序阅读。
读取直接读取EEPROM第一个字节;
随机读取是写入要读取的地址,从当前地址一字节一字节读取数据;
顺序读取就是从EEPROM第一个字节开始读取字节字节;
作者建议您使用随机阅读的时间序来阅读EEPROM这种方法非常灵活,由程序控制阅读几个字节非常方便。
读取EEPROM得三种方式
2.重视ACK/NAK信号。阅读和写时序一样,EEPROM内容也有响应信号;程序收到NAK,处理方法有三种;
1) 设置IIC从总线到空闲状态,重新发送起始条件,再读多次;可立即读取,也可分时读取;
2) 若多次读不成功,可多次读取备份页。若备份页也读不成功,提示EEPROM阅读失败;这样客户就可以在看到报警信息后更换产品,减少损失;
3)如果读取失败,可以将使用的变量初始化为默认参数,使机器正常运行,不会停机;
EEPROM它是工业控制领域不可缺少的东西,就像人们的记忆一样;如果你不记得什么,你需要看医生。EEPROM读写的稳定性也很重要。经过长时间的磨合,笔者慢慢优化了这套逻辑,今天就和大家分享一下。EEPROM数据丢失吗?让我们评论一下!