www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CodevisionAVR string aus eeprom lesen


Autor: Koopi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,

ich weiß nicht ob ich es nicht finde oder geht es nicht.

Ich habe in meinem Mega32 Konfigurationsdaten im EEPROM abgelegt. Diese
kann ich auch fast alle ohne Probleme lesen. Nur bekomme ich mit dem
Befehl: sprintf(dest, "%s", EE_src) keine Daten aus dem EEPROM. Muss
ich etwa selber eine Kopierfunktion schreiben?

Koopi

Autor: Kai Markus Tegtmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wie äußert es sich denn, daß Du keine Daten aus dem EEPROM bekommst?
Falsche Ausgabe oder Fehlermeldung beim Compilieren?

Greetz
KMT

Autor: Koopi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Kai,

ich kann alle Datentypen bis auf strings aus dem EEPROM mit sprintf
holen. Ich bekomme auch keine Fehlermeldung, sondern einfach keine
definierten Werte. Auch stehen die Daten eindeutig ab der
angesprochenen Stelle im EEPROM.

Koopi

Autor: smartie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ist der String definiert?
Ist der String null terminiert?

's' - the function argument is a pointer to a null terminated char
string located in SRAM;

d.h. der Pointer selbst muß im RAM stehen, der wiederum auf ein oder
mehrere Element im EEPROM zeigt.

ich würds mal so probieren:

eeprom char text1[]={"Hello World",0};
char * text2 = text1;

Autor: Koopi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@smartie,

wenn dann so:

eeprom char text1[]={ "Hello World", 0 };
char eeprom * text2 = text1;

oder noch besser:

eeprom char text1[]={ "Hello World" };
char eeprom * text2 = text1;

Übrigens sind beide Strings nullterminiert.

Aber der indirekte Zugriff über den Pointer nützt auch nichts.

Wieso bekommt man eigentlich hin und wieder Beispiele die schon beim
kompilieren zu Fehlermeldungen führen? Hat der Autor keine Ahnung? Aber
warum meldet er sich dann?

Koopi

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du bist ja ein ganz netter... :-(

Autor: Koopi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crasy horse,

mag sein, aber ich möchte es wirklich einmal wissen.

Koopi

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Wieso bekommt man eigentlich hin und wieder Beispiele die schon beim
kompilieren zu Fehlermeldungen führen? Hat der Autor keine Ahnung?
Aber
warum meldet er sich dann?"

Hier sagt jeder was nach bestem Wissen und Gewissen, kostenlos und
freiwillig, z.T. sogar mit eigenen online-Kosten verbunden, aus Freude
an der Sache. Das ist eigentlich mehr, als man im "normalen" Leben
erwarten kann. Erwartest du, dass jemand, der eine Idee zu deinem
Problem hat (ob die nun richtig oder falsch ist, ist erstmal völlig
irrelevant) sich auch noch erstmal hinsetzt und dieses auf 100%
Richtigkeit testet? Die Anregungen aufzunehmen, auf Verwertbarkeit und
Richtigkeit zu testen, evtl. an die eigene spezielle Situation
anzupassen ist Aufgabe des Fragestellers, in dem Falle also deine.
Keinesfalls ermächtigt dich eine vielleicht falsche Antwort,
herablassend zu sein. Bei einer 0190-3,99€/min-Hotline hat man einen
gewissen Anspruch auf sachliche Richtigkeit - hier nicht.
Soweit meine Meinung.

Autor: Koopi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Hier sagt jeder was nach bestem Wissen"

aber ohne Wissen ist es nicht nur sinnlos, sondern für Anfänger als
Fragende zum Teil sehr verwirrend. Also sollte man zumindest inhaltlich
auf gestellte Fragen eingehen können. Syntaxfehler sind unwichtig.

Ansonsten ist es richtig was Du sagst.
Wir sollten vielleicht auch wieder zu meinem Problem zurück kommen.

Koopi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.