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
>Wie adressiere ich mit einer 8-Bit Variablen den Adressbereich über 255?
Öh, gar nicht?
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.