新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 治標(biāo)治本,徹底解決AVR單片機(jī)EEPROM數(shù)據(jù)丟失問(wèn)題

治標(biāo)治本,徹底解決AVR單片機(jī)EEPROM數(shù)據(jù)丟失問(wèn)題

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
+ i),temp);
}
}
if (CheckAllPage() == VALID)
{
return VALID;
}
return INVALID;
}
使用方法(三個(gè)備份):
1、定義一個(gè)數(shù)組:EEPROMData[EepromPageSize-2] ,數(shù)組定義為EepromPageSize-2是為了給每個(gè)備份留2個(gè)字節(jié)的校驗(yàn)
2、要保存數(shù)據(jù)時(shí),先把數(shù)據(jù)放到數(shù)組中,然后調(diào)用EepromWriteBlock()函數(shù),把這個(gè)數(shù)組的數(shù)據(jù)寫(xiě)進(jìn)EEPROM,三個(gè)備份要寫(xiě)三次。
3、寫(xiě)完了之后,調(diào)用CheckWriteCRC()函數(shù),該函數(shù)會(huì)計(jì)算出當(dāng)前備份的CRC16檢驗(yàn)數(shù)據(jù)并寫(xiě)到EEPROM備份的尾部,有多少個(gè)備份就要調(diào)用多少次。
4、至此,數(shù)據(jù)的備份工作已經(jīng)完成。
5、校驗(yàn)數(shù)據(jù)(一般在復(fù)位后運(yùn)行),執(zhí)行CheckAllPage()函數(shù),若通過(guò)了,則EEPROM數(shù)據(jù)沒(méi)有問(wèn)題,否則要運(yùn)行DataRecover()函數(shù),對(duì)損壞的備份進(jìn)行修復(fù)
------------------修改原因:修改變量的定義形式

上一頁(yè) 1 2 3 4 5 6 7 下一頁(yè)

關(guān)鍵詞: AVR單片機(jī)EEPROM數(shù)據(jù)丟

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉