我有这个代码,可以从 EEPROM 写入和写入4位数字。
For Ex: 2356
代码;
void WritePassToEEPROM(uint16_t pass)
{
EEPROMWrite(0000,(pass%100));
EEPROMWrite(0001,(pass/100));
}
uint16_t ReadPassFromEEPROM()
{
return (EEPROMRead(0001)*100 + EEPROMRead(0000));
}
Write_Pass_To_EEPROM()
函数写入2个地址0000
和0001
。对于2356
,2356%100
为56
,2356/100
为23
。因此,地址0000
将为56,地址0001
为23
。
阅读EEPROM_Read(0000)
将返回34
,EEPROM_Read(0001)*100
将返回2300
。 2300 + 56
是2356
。
但是,如果我需要写5
数字,如65238
我应该怎么做。
答案 0 :(得分:0)
这将达到0xffff(65535)。
void WritePassToEEPROM(uint16_t pass)
{
EEPROMWrite(0000,(pass & 0x00ff));
EEPROMWrite(0001,(pass & 0xff00) >> 8);
}
uint16_t ReadPassFromEEPROM()
{
return ((uint16_t)(EEPROMRead(0001) << 8) + (uint16_t)EEPROMRead(0000));
}