EEPROM读写5位

EEPROM read and write for 5 bits

我有这段代码可以从 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个地址00000001。对于 23562356%100562356/10023。因此,在地址 0000 处它将是 56,在地址 0001 处它将是 23。 阅读时 EEPROM_Read(0000) 将 return 34EEPROM_Read(0001)*100 将 return 23002300 + 562356

但是如果我需要像 65238 这样写 5 数字我该怎么办。

这将上升到 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));
}