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.
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
Wenn du Held deinen Code mit angegeben hättest, wäre bestimmt schneller eine Reaktion erfolgt.
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?)
@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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.