Skocz do zawartości

EEPROM


Pixelx

Pomocna odpowiedź

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

Link do komentarza
Share on other sites

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);

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.