Hallo Programmierer, das Beschreiben und Auslesen des EEPROMs der ATMEGAs wurde hier ja schon des öfteren erörtert. Hier nochmal zusammengefasst: ... #include <avr/eeprom.h> ... uint8_t Adr; uint8_t Wert; ... eeprom_write_byte((uint8_t *) Adr, Wert); Wert = eeprom_read_byte((uint8_t *) Adr); ... Soweit, so gut. Jetzt habe ich einen ATMEGA644 mit 2k großem EEPROM vor mir. Wie adressiere ich mit einer 8-Bit Variablen den Adressbereich über 255? Das Datenblatt weißt für EEARH und EEARL 12 Bit aus. Also mehr Bits als mit uint8_t adressiert werden kann.
Tut zwar nichts zu Sachen, aber hast du auch ein eeprom_busy_wait(); vor deinem Auslesen? Grüße Dennis
Gast
#1423803
>Wie adressiere ich mit einer 8-Bit Variablen den Adressbereich über 255?
Öh, gar nicht?
Gast
#1423805
Hallo, Du schriebst: > Wie adressiere ich mit einer 8-Bit Variablen den Adressbereich über 255? Du addressiert nicht mit einer 8-bit Variablen! Das ist ein Pointer auf eine 8-bit Variable. Beim AVR sind die 16 Bit lang. Ich hoffe, dass das Deine Frage beantwortet. Liebe Grüße Dirk
Alles klar. Danke.