PIC EEPROM保存的问题
现在有个产品必须每1秒保存一个线性递增的数据到EEPROM中,现在的问题是正好在保存时,别人把系统的电给断掉了,那么问题就来了,写入的数据就不对了,下次开机再读取EEPROM时,数据就不是线性的了,亲有什么办法解决吗,不要给我说用个后备电池上去就行了,哈哈,
成本原因不考虑,哈哈 别走弯路。 直接上24C02
检测掉电,
掉电才保存。 建立两个存储。
void save()
{
判断该写入哪个位置;
写入第二个存储器;
写入第一个存储器;
}
void Read()
{
读两个数据;
判断哪个是有效的;//数据是线性递增的。
} pic应该有可编程欠压检测 PLVD 手册里找一下, 掉电时中断,写入数据 楼上正解,别忘记加个4.7uf的电容 eeprom有写寿命限制,1s写一次不怕提早挂了? 1s写一次肯定1年不到就挂 了,是在特定提时间内才1S写一次的, 如果数据量不是很大,当使用掉电检测方法最简单了。 加掉电检测,掉电保存 楼上说的对,掉电保存吧,写操作太频繁EEPROM很容易挂的 可以设置一个或若干个字节,来记录已经写入有效数据的数量,每次写入一个数据,这个数字就递增1,读取时根据这个数字来读取相应个数的数据
页:
[1]