Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam.

Mam problem z zapisem i odczytem do pamięci EEPROM na Atmega32.

W głównej funkcji programu definiuje odczyt czyli w int main(void)

settemp=eeprom_read_byte(&settemp);

i gdzieś w programie zapis do pamięci i to działa, bo zapisuje zmienną i odczyt też działa.

 eeprom_write_byte(100, settemp);

Problem pojawia się gdy zmienię adres np: 102 i już nic się nie zapisuje tylko na adresie 100. Dlatego nie mogę zapisać innych zmiennych do pamięci EEPROM.

Z czego to wynika jak zapisać więcej zmiennych do pamięci?

__________

Komentarz dodany przez: Treker

Przecież adres jaki kompilator przydzielił w RAMie Twojej zmiennej settemp nie ma dla EEPROMu żadnego znaczenia, więc odczyt:

settemp=eeprom_read_byte(&settemp);

jest bez sensu.

Jeśli zapisujesz pod adres absolutny 100:

eeprom_write_byte(uint8_t*)100, settemp);

to i odczyt musi być spod tego samego adresu:

settemp=eeprom_read_byte((uint8_t*)100);

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...