Hallo ich versuche 9 werte wie folgt zuspeichern. EEPROM.put(0, 12); (12 ist nur ein beispiel werte reichen von 0 bis 15) EEPROM.put(1, 12); EEPROM.put(2, 12); EEPROM.put(3, 12); EEPROM.put(4, 12); EEPROM.put(5, 12); EEPROM.put(6, 12); EEPROM.put(7, 12); EEPROM.put(8, 12); und wieder zu lesen mit: int eeprom = (0); eeprom0 = EEPROM.read(0); eeprom1 = EEPROM.read(1); eeprom2 = EEPROM.read(2); eeprom3 = EEPROM.read(3); eeprom4 = EEPROM.read(4); eeprom5 = EEPROM.read(5); eeprom6 = EEPROM.read(6); eeprom7 = EEPROM.read(7); eeprom8 = EEPROM.read(8); Das geht auch teilweise bis zu Nummer 2 geht das auch sauber. Nummer 3 (wert 4) geht fast immer. und ab Nummer 4 (wert5) werden die werte selten bis nie gespeichert. zuerst dachte ich an lese Fehler. Das konnte ich ausschlissen da die werte teilweise sogar gleich nach dem schreiben verschwinden. Da kahm ich darauf das der speicher vom ATmega2560 mit 4 KB voll sein muss. Kann aber eigentlich auch nicht sein da Byte ja nur 8 bit braucht wäre nicht mal 1 KB belegt. Jetzt meine letzte Vermutung kann es sein das ich zwischen den Adressen immer eins oder 2 freilassen muss da es sich um 2 zahlen handelt ? Oder gibts da noch einen Trick ? Danke
Gast
#5371948
EEPROM.put ist eine komplexe Funktion. https://www.arduino.cc/en/Reference/EEPROMPut Für ein Byte gibt es EEPROM.write() Siehe Kommentar im Beispiel.
Gast
#5371951
Ach ja: zu put gehört get und update gibt es auch noch.
Gast
#5375441
DAVID -. schrieb: > Oder gibts da noch einen Trick ? Hätte man da das beliebte RTFM mal wieder zitieren sollen?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.