Mam wielką prośbę, otóż jeśli chodzi o zapis do pamięci Eeprom. Wszędzie są przykłady jak zapisać do tej pamięci ale w przykładach jest używana mała liczba 8 bitowa jak to próbuję zrobić to chodzi jak trzeba , tylko nie mogę znaleźć jak zapisać dużą liczbę np. 1023. pomożecie mi to zrobić. Prosiłbym o jakiś przykład i wytłumaczenie jak do pamięci Eeprom zapisać większą liczbę. Dziękuję
Tu masz na przykładzie z mojego kodu liczby większe od 255 musisz zapisać jako 2 bajty
zapis
EEPROM.write(2, lowByte(RSSI_MAX_A) );
EEPROM.write(3, highByte(RSSI_MAX_A) );
odczyt
RSSI_MAX_A = (EEPROM.read(3)<<8)+EEPROM.read(2);
Kod:
// EPROM odczyt i zapis
void load_param ( void ) {
if ( EEPROM.read(0)=='P' ) { // sprawdzenie czy wczesniej bylo cos zapisane
RSSI_MIN_A = EEPROM.read(1);
RSSI_MAX_A = (EEPROM.read(3)<<8)+EEPROM.read(2);
RSSI_MIN_B = EEPROM.read(4);
RSSI_MAX_B = (EEPROM.read(6)<<8)+EEPROM.read(5);
ALARM_RSSI = EEPROM.read(7);
ALARM_BAT = EEPROM.read(8);
BackLight_Time = EEPROM.read(9)*1000;
Log_Time = EEPROM.read(14)*1000;
}
}
void save_param ( void ) {
EEPROM.write(0, 'P'); // nasza sygnaturka pierwszego zapisu
EEPROM.write(1,RSSI_MIN_A);
EEPROM.write(2, lowByte(RSSI_MAX_A) );
EEPROM.write(3, highByte(RSSI_MAX_A) );
EEPROM.write(4,RSSI_MIN_B);
EEPROM.write(6, highByte(RSSI_MAX_B) );
EEPROM.write(5, lowByte(RSSI_MAX_B) );
EEPROM.write(7,ALARM_RSSI);
EEPROM.write(8,ALARM_BAT);
EEPROM.write(9,(BackLight_Time/1000));
EEPROM.write(14,(Log_Time/1000));
}
Właśnie wpadłem gdzieś na ten twój kodzik w sieci , chyba na elektrodzie i już testuję
Nie do końca kumam jeszcze ale powoli zaczyna do mnie docierać
Szybko dodałem kilka linijek i widzę, że działa i rozumiem już jak to wygląda.
To w zasadzie kończy temat
Dziękuję