eeprom 16 bit Wert in C

Gast #132950
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.
Gast #132954
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?)
Gast #132955
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

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