我的所有单片机ee数据就是掉电保存功能,都是用一个方法。比如存10个数据,然后需要申请12个ee地址,最后2个是前十个数据的CRC。数据改动时,我先算出前十个数据的CRC然后12个数据一起保存在EE里。
重新上电时。先读出12额数据,计算前十个数据的CRC,并和读出的CRC比较。如果相等就认为不需要初始化EE数据,反之需要初始化EE数据。
我这种方法在3中单片机里面用过,一直没有问题,
我最近用stm32F100系列,也是这样用,不过是flash模拟EE。也应用了很多产品没出问题。。
大师最近一个485和分机通讯产品,由于客户接错线,造成开关电源电压异常过,我的48个分机全部EE数据初始化了,48个已经设置好的分机地址1-48全部变成初始值1了。
这款产品我们也用了不少,以前没有出现这样的情况,现在唯一和原来的差别是 电压异常过。为什么所有的EE数据变成了,初始化的数据呢?
有大神 遇到这种情况么? |