У меня есть этот код, который пишет и пишет из 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
до65535
(включительно). - person Some programmer dude   schedule 26.03.201699999
(для которых 16 бит слишком мало, а 32 слишком много), тогда переходите на 24-бит или что-то в этом роде... Или, может быть, ему приходится иметь дело с каким-то старым дрянным оборудованием/программным обеспечением, BCD? - person 3442   schedule 26.03.2016