05-04-2020, 10:01
Ja napisałem kiedyś coś takiego i nic Ci więcej do szczęścia nie trzeba:
Kod:
void save(int adres, long value)// UWAGA!!! value zajmuje cztery bajty!!!
{
byte jeden = (value & 0xFF);// nie chce mi sie dzielic liczb
byte dwa = ((value >> 8) & 0xFF);//wiec zrobie przesuniecie bitowe
byte trzy = ((value >> 16) & 0xFF);
byte cztery = ((value >> 24) & 0xFF);
EEPROM.update(adres, jeden); // jesli wartosc sie nie zmienila
EEPROM.update(adres + 1, dwa); // to nie zapisuj
EEPROM.update(adres + 2, trzy); // to zaoszczedzi zywotnosci kosci
EEPROM.update(adres + 3, cztery);
}
long load(long adres)
{
long cztery = EEPROM.read(adres);
long trzy = EEPROM.read(adres + 1);
long dwa = EEPROM.read(adres + 2);
long jeden = EEPROM.read(adres + 3);
return ((cztery << 0) & 0xFF) + ((trzy << 8) & 0xFFFF) + ((dwa << 16) & 0xFFFFFF) + ((jeden << 24) & 0xFFFFFFFF);
}
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.