本帖最后由 wulin 于 2019-12-25 15:33 編輯
16位數據可以按字節存EEPROM同一扇區不同地址,讀取后再合并還原為16位數據。
if(STARflag)//如果按下了啟動按鈕,置位
{
luf[0]=Morebyte_Readluf(0x2200);//讀EEPROM保存的低八位放在在luf[0]緩存數組中
luf[1]=Morebyte_Readluf(0x2200+1);//讀EEPROM保存的高八位放在在luf[1]緩存數組中
numc=luf[1]<<8|luf[0];//合并為16位數據
numc+=BL;//每按一次按鈕numc就增加BL值
if(numc>9998)
{
numc=0;
}
dct[0]=numc; //緩存低八位,高位溢出
dct[1]=numc>>8; //緩存高八位
Sector_Erase(0x2200);//擦除扇區
Morebyte_Program(0x2200,dct[0]);//將numc低八位寫入EEPROM中
Morebyte_Program(0x2200+1,dct[1]);//將numc高八位寫入EEPROM中
SMGBUFFER[4][0]=DuanMa[numc%10]; //四位數碼管待顯示數據
SMGBUFFER[4][1]=DuanMa[numc/10%10];
SMGBUFFER[4][2]=DuanMa[numc/100%10];
SMGBUFFER[4][3]=DuanMa[numc/1000%10];
DISPLAY(4);//顯示函數
STARflag=0;//按鍵復位
}
|