需要注意的一点就是,要注意E2P芯片的寿命(一般是读写100万次,足够了)。
存储数据的时候,可以对 *** 作数和存储的数据进行比较,不相等则存储,比如:
if
(ReadI2c()!=data)
这样可以增加使用寿命,比有些每隔1秒钟进行存储的会好多了。
碰到要存储的是时间的时候,并且是每秒钟存的话,由于寿命的原因,则要另外想办法,常用的有:
1.在掉电瞬间的时候去存储数据,这种方法要硬件上给予检测电路来告知现在掉电了,然后程序就对时间进行存储,这种方法的弊端是“必须要有检测电路”。
2.考虑到上述的问题,可以开辟多块空间来存储“时间”,每次上电依次使用不同的空间,但是为了要有“使用哪一块的判断条件”,所以必须再多一个空间存储“判断”:每次程序开始,将“判断++”,然后根据其来决定使用哪一块的“蔽饥时间空间”。
/*************************************************************/
希望能有帮助,上述是对罩纯掉电记忆来讲比较不错的的方法了。
EEPROM中存放一字节的可用标志。EEPROM未擦除过的单元都是0xFF。程序上电时读取该地址为0xFF即代表是庆肆旦首次上电,于是将该标誉扰志改写为特殊字符(如0xAA或0x55),并将全局雹稿变量初始化为0;上电时读取该地址为特殊字符,则从EEPROM中读取该全局变量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)