对于上一篇博文在读EEPROM的时候,提到的DUMMY WRITE:
这里怎么理解呢:
大家看,写EEPROM的逻辑除了写DATA之前,是不是就是读EEPROM的前半部分,所以说读EEPROM的逻辑,前面就是一个伪的写EEPROM
不妨大胆一点认为:对于读ADC的逻辑,其实前部分也是写DAC的逻辑,俗称,假写(伪写)
思路:类比读取DS18B20数据的拼接
这里不废话直接应用
u16 open_num = 0; //2个字节
u8 high = 0; //高字节
u8 low = 0; //低字节
void EepromTask()
{
if(ReadEeprom(0x3f)!= 211){
WriteEeprom(0x3f,211);
WriteEeprom(0x00,0);//高字节
WriteEeprom(0x00,1);//低字节
open_num = 1;
}else{
high = ReadEeprom(0x01);//高字节
low = ReadEeprom(0x00);//低字节
open_num = (u16)((high<<8)|low);
open_num++;
WriteEeprom(0x00,(u8)(open_num>>8));//高字节
WriteEeprom(0x00,(u8)(open_num));//低字节
}
}
自行测试
----- 如有错误欢迎大家批评指正!!!