一般外部eeprom芯片的初始值是0x00,还是0xFF,还是随机?
比如说24Cxx系列,比如说X504x带eeprom的看门狗系列,第一次读其内部某地址数据,得到的是0x00还是0xFF或者是随机值?数据手册上好像也没有说明 视情况而定,管他那,能正确写进数据大不了再写一个crc位,管他初始数据是什么啊 全部是0xFF 我得根据读出来的值来判断要不要把默认参数写进去,当然,该默认参数不会是0x00或0xFF的。比方说:如果读出来是0x00或0xFF,是不是可以判断该eeprom芯片是第一次使用,需要把默认值写进去,反之就是已经保存过用户数据,不用再写呢?倒不是因为怕数据写错。
唉,明天试一试吧 恩,老兄,因为数据都很重要,我一般是在存储器中放两份,一份备份,每份都有16位CRC,
根据CRC也可以判断是不是芯片第一次使用。 LS说的对,一定要贴上标签加上校验。否则你无法肯定是否有效数据 一般是0XFF 嗯,对,受教了,一个数据存两份,一份起校验作用。关键是数据正不正确——正确,直接用,不正确就重写。和芯片是不是第一次使用倒没多大关系。
多谢各位了 更正一下楼上啊,详细地说应该是总共有两份数据,其中一份数据是用来备份的,每一份数据中有两个字节是数据的CRC16校验位,具体CRC16是什么,网上很多的(循环校验码)。芯片初次使用时,可以根据这两份CRC16进行校验,两份数据都不对,就用默认数据覆盖这两份数据。
正常运行过程中,使用第一份数据,如果CRC校验出错,就认为此数据损坏,然后调用备份数据,并且重新覆盖第一份数据。
------看他害处不出错!!!!!!! LS正解 {:lol:}学习 记得课本上说初始化过是ff 我用过的都是0xFF zhangjinxing 发表于 2009-12-15 20:47
更正一下楼上啊,详细地说应该是总共有两份数据,其中一份数据是用来备份的,每一份数据中有两个字节是数据 ...
思维好严谨! 读出值看管脚上啦还是下拉
页:
[1]