String in EEPROM schreiben und wieder auslesen

Gast #2226816
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ß
#2226820
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.