微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 治标治本,彻底解决AVR单片机EEPROM数据丢失问题

治标治本,彻底解决AVR单片机EEPROM数据丢失问题

时间:12-01 来源:互联网 点击:

EepromWriteByte(pdata,(uint8_t) (crc>>

个备份):

1、定义一个数组:EEPROMData[EepromPageSize-2] ,数组定义为EepromPageSize-2是为了给每个备份留2个字节的校验

2、要保存数据时,先把数据放到数组中,然后调用EepromWriteBlock()函数,把这个数组的数据写进EEPROM,三个备份要写三次。

3、写完了之后,调用CheckWriteCRC()函数,该函数会计算出当前备份的CRC16检验数据并写到EEPROM备份的尾部,有多少个备份就要调用多少次。

4、至此,数据的备份工作已经完成。

5、校验数据(一般在复位后运行),执行CheckAllPage()函数,若通过了,则EEPROM数据没有问题,否则要运行DataRecover()函数,对损坏的备份进行修复

------------------修改原因:修改变量的定义形式

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top