EEPROM und EEMEM verständniss?

Gast #2414279
Lesenswert?

Hallo,

mal eine grundlegende Frage.

Reserviere Adressen im EEPROM:

uint16_t EEPROM_power_protocol EEMEM;
uint16_t EEPROM_power_address EEMEM;
uint16_t EEPROM_power_command EEMEM;


Danach werden die Adressen ausgelesen (und der Inhalt geprüft):

uint16_t power_protocol = eeprom_read_word (&EEPROM_power_protocol);
uint16_t power_address = eeprom_read_word (&EEPROM_power_address);
uint16_t power_command = eeprom_read_word (&EEPROM_power_command);


Wenn mir der Inhalt nicht gefällt wird er überschrieben

eeprom_write_word (&EEPROM_power_protocol, power_protocol);
eeprom_write_word (&EEPROM_power_address, power_address);
eeprom_write_word (&EEPROM_power_command, power_command);



nun die Frage:
Bleibt der Zugewiesene Wert unten auch nach einen Neustart des AVRs 
erhalten?

Wenn ja woher weiß das Programm nach einen Neustart die Adresse?
Oder schreibt er dann einfach in eine andere?
Persönliche Seite #2414284
Lesenswert?

newbie schrieb:
> nun die Frage:
> Bleibt der Zugewiesene Wert unten auch nach einen Neustart des AVRs
> erhalten?
>
> Wenn ja woher weiß das Programm nach einen Neustart die Adresse?
> Oder schreibt er dann einfach in eine andere?

Bleibt erhalten, dafür ist das EEPROM ja da.
Die Adresse steht fest in dem Programm, die wird beim Linken festgelegt, 
so dass immer die gleiche Adresse genommen wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren