mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik eeprom 16 bit Wert in C


Autor: Dirk Lantzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich will in meinen Atmega128 einen integer Wert im eeprom ablegen. Das
scheint auch zu gehen. Aber wenn ich ihn auslese bekomme ich zwar nen
16bit Wert, aber das LOW Byte ist immer 0. Mit char Werten
funktionierts immer.
Wenn ich jetzt irgendeine integer Variable definiere (!!nicht im
eeprom!!) dann funktionierts.
Womit zum geier hängt das zusammen?

Dirk.

Autor: Dirk Lantzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Haalllooooo,

jemand ne Ahnung?

Dirk.

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dirk,

das EEP funktioniert nur Byteweise. Schreibe einfach 2 Bytes (einzeln
und auf unterschiedliche Adressen) und setze dir dann dein Word oder
integer daraus zusammen.

Gruß Robert

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du Held deinen Code mit angegeben hättest, wäre bestimmt schneller
eine Reaktion erfolgt.

Autor: Philipp Sªsse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder gar seinen Compiler. Ob der Compiler 16-Bit-Werte im EEPROM zuläßt,
ist schließlich seine Sache; die byteweise Aufsplittung ist dann seine
Aufgabe. (Wenn er es nicht tut, sollte er natürlich einen Fehler oder
mindestens eine Warnung bringen. Aber tut er das? Können wir es wissen,
wenn wir den Compiler nicht kennen?)

Autor: Dirk Lantzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Robert: danke. Aber das ist die aller letzte Option für mich.

@die anderen:
Es ist der ImageCraft C Compiler in der Version 6.30B. Und Laut Hilfe
im Compiler sollte es gehen. Es geht Ja auch, aber eben nur wenn ich
eine Variable (!!nicht im eeprom!!) zusätzlich definiere. Und genau das
ist es was mich verwundert.

Wenn ihr keine Ideen habt, sagt trotzdem bescheid, dann stell ich den
relevanten Source noch rein.

Dirk.

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.