Forum: Mikrocontroller und Digitale Elektronik ATMEGA644 - EEPROM


von Jürgen M. (j-m)


Lesenswert?

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.

von Dennis G. (hans_angemeldet)


Lesenswert?

Tut zwar nichts zu Sachen, aber hast du auch ein eeprom_busy_wait(); vor 
deinem Auslesen?

Grüße Dennis

von holger (Gast)


Lesenswert?

>Wie adressiere ich mit einer 8-Bit Variablen den Adressbereich über 255?

Öh, gar nicht?

von Dirk (Gast)


Lesenswert?

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

von Jürgen M. (j-m)


Lesenswert?

Alles klar.

Danke.

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
Noch kein Account? Hier anmelden.