|
求教。我想將設(shè)備的初始化數(shù)據(jù)寫(xiě)入到w25q128這款flash內(nèi)存中,但因?yàn)槌跏蓟臄?shù)據(jù)不是永遠(yuǎn)不變的,個(gè)人可以根據(jù)需要修改,然后將新的數(shù)據(jù)保存。
所以我想做一個(gè)初始化判斷,如果芯片沒(méi)有寫(xiě)入過(guò)數(shù)據(jù),那么導(dǎo)入初始化數(shù)據(jù),如果寫(xiě)入過(guò)數(shù)據(jù),那么就讀取寫(xiě)入的數(shù)據(jù)。
已知w25q128這款芯片初始狀態(tài)時(shí),每一位存儲(chǔ)的都是1。所以我做了一個(gè)簡(jiǎn)單的判斷,但是我覺(jué)得不是特別保險(xiǎn)。
請(qǐng)問(wèn)有沒(méi)有人做過(guò)這方面,有更好的方案。謝謝分享。
下面是我的代碼:
- u8 datatemp[8];
- W25QXX_Read((u8*)datatemp,0X000000,8); //起始地址0號(hào)扇區(qū),讀取數(shù)據(jù),并賦值給datatemp數(shù)組
- if(datatemp[0]!=0XFF) //不等于0xFF,說(shuō)明有用戶(hù)保存的數(shù)據(jù),那么不再初始化
- {
- }
- else //等于0xFF=》進(jìn)行初始化設(shè)置
- {
- }
復(fù)制代碼
|
|