Forum: Mikrocontroller und Digitale Elektronik String in EEPROM schreiben und wieder auslesen


von Anfänger (Gast)


Lesenswert?

Hallo zusammen!
Vorab, ich bin ganz neu auf dem Gebiet der uC-Programmierung und habe da 
eine Frage: Ich möchte gerne ein einen String bzw. Zeichenkette in den 
EEPROM speichern. Ich hab nun mal die AVR-Tutorial angeschaut und komme 
da irgendwie nicht so ganz klar wie ich das alles initialisieren und 
übergeben muss.Ich benutzte einen ATmega 2560 und programmiere in C.
Wenn ich jetzt

char vlab[6] = "Hallo";
char glob[6] = "Welt";

in den EEPROM schrieben will und dann wieder auslesen,wie muss ich das 
vorgehen? Wäre nett wenn mir jemand weiterhelfen könnte.

Gruß

von Karl H. (kbuchegg)


Lesenswert?

Anfänger schrieb:
> Hallo zusammen!
> Vorab, ich bin ganz neu auf dem Gebiet der uC-Programmierung und habe da
> eine Frage: Ich möchte gerne ein einen String bzw. Zeichenkette in den
> EEPROM speichern. Ich hab nun mal die AVR-Tutorial angeschaut und komme
> da irgendwie nicht so ganz klar wie ich das alles initialisieren und
> übergeben muss.Ich benutzte einen ATmega 2560 und programmiere in C.

Dann solltest du auch das AVR-GCC-Tutorial bemühen und nicht das 
Assembler Tutorial :-)

> Wenn ich jetzt
>
> char vlab[6] = "Hallo";
> char glob[6] = "Welt";
>
> in den EEPROM schrieben will und dann wieder auslesen,wie muss ich das
> vorgehen?

indem du zb die Funktion eeprom_write_block bzw eeprom_read_block 
benutzt.
Die Länge deines Strings kennst du ja beim Schreiben. Beim Lesen 
allerdings kennst du sie nicht. Daher wird es eine gute Idee sein, 
entweder:
* die Länge ebenfalls ins EEPROM zu schreiben (Strings können ja 
traditionell unterschiedlich lang sein)
* oder aber in Analogie zu den üblichen C-Gepflogenheiten, einfach 
solange mittels eeprom_read_byte einzelne Zeichen aus dem EEPROM zu 
lesen, bis das abschliessende \0 Byte auftaucht, das natürlich beim 
Schreiben dann auch mitgeschrieben werden muss.

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.