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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.