zzzzzzzzz2 发表于 2009-12-15 18:03:40

一般外部eeprom芯片的初始值是0x00,还是0xFF,还是随机?

比如说24Cxx系列,比如说X504x带eeprom的看门狗系列,第一次读其内部某地址数据,得到的是0x00还是0xFF或者是随机值?数据手册上好像也没有说明

zhangjinxing 发表于 2009-12-15 18:07:49

视情况而定,管他那,能正确写进数据大不了再写一个crc位,管他初始数据是什么啊

shanyan 发表于 2009-12-15 18:08:41

全部是0xFF

zzzzzzzzz2 发表于 2009-12-15 18:15:18

我得根据读出来的值来判断要不要把默认参数写进去,当然,该默认参数不会是0x00或0xFF的。
比方说:如果读出来是0x00或0xFF,是不是可以判断该eeprom芯片是第一次使用,需要把默认值写进去,反之就是已经保存过用户数据,不用再写呢?倒不是因为怕数据写错。
唉,明天试一试吧

zhangjinxing 发表于 2009-12-15 18:17:36

恩,老兄,因为数据都很重要,我一般是在存储器中放两份,一份备份,每份都有16位CRC,
根据CRC也可以判断是不是芯片第一次使用。

rodger 发表于 2009-12-15 19:04:52

LS说的对,一定要贴上标签加上校验。否则你无法肯定是否有效数据

astudent 发表于 2009-12-15 19:50:39

一般是0XFF

zzzzzzzzz2 发表于 2009-12-15 20:16:50

嗯,对,受教了,一个数据存两份,一份起校验作用。关键是数据正不正确——正确,直接用,不正确就重写。和芯片是不是第一次使用倒没多大关系。
多谢各位了

zhangjinxing 发表于 2009-12-15 20:47:05

更正一下楼上啊,详细地说应该是总共有两份数据,其中一份数据是用来备份的,每一份数据中有两个字节是数据的CRC16校验位,具体CRC16是什么,网上很多的(循环校验码)。芯片初次使用时,可以根据这两份CRC16进行校验,两份数据都不对,就用默认数据覆盖这两份数据。
正常运行过程中,使用第一份数据,如果CRC校验出错,就认为此数据损坏,然后调用备份数据,并且重新覆盖第一份数据。
------看他害处不出错!!!!!!!

kvdong 发表于 2009-12-15 21:23:32

LS正解

tiramisu0501 发表于 2013-5-2 11:53:47

                        {:lol:}学习

lyz1900 发表于 2013-5-2 13:09:00

记得课本上说初始化过是ff

无级电工 发表于 2013-5-2 13:10:50

我用过的都是0xFF

wnwnwn 发表于 2014-10-15 19:15:48

zhangjinxing 发表于 2009-12-15 20:47
更正一下楼上啊,详细地说应该是总共有两份数据,其中一份数据是用来备份的,每一份数据中有两个字节是数据 ...

思维好严谨!

salahading 发表于 2014-10-15 19:56:59

读出值看管脚上啦还是下拉
页: [1]
查看完整版本: 一般外部eeprom芯片的初始值是0x00,还是0xFF,还是随机?