ESP-01: EEPROM klappt nicht :-(

OP (Firma: Q3) #7097309
Lesenswert?
• ▲
▼
Ich möchte in einem Programm für einen Sensor mit ESP-01 ganze drei 
Byte-Werte im EEPROM sichern. Aber es klappt nicht!

Schreiben mache ich so: (#include <ESP_EEPROM.h> ist dabei)
1
 void eeWrite(int addr, byte b)
2
 {
3
  EEPROM.begin(512);
4
  EEPROM.put(addr,b);
5
  EEPROM.commit();
6
  delay(50);
7
}

Ein probeweise nach dem Commit eingefügtes EEPROM.get liefert genau den 
gerade gespeicherten Wert. Also liegt der Verdacht nahe, dass es am 
Lesen liegt. Das mache ich so (im Setup-Bereich, diesmal direkt in die 
globalen Variablen vom Typ Byte):
1
void eeRead()
2
{
3
  EEPROM.begin(512);
4
  EEPROM.get(0,xpwr);
5
  EEPROM.get(1,xchn);
6
  EEPROM.get(2,xnam);
7
}

Eigentlich Bilderbuch-Code, oder? ABER: Es kommt IMMER Null zurück :-(

Ich weiss, dass die ESPs den EEPROM mit dem Spiff-Dateisystem im Flash 
simulieren, deshalb das Begin und Commit. Was könnte da schief gehen? 
Ich habe auch die 521 schon deutlich verringert (z.B. 8), kein Effekt 
...
OP (Firma: Q3) #7097899
Lesenswert?
• ▲
▼
Mario M. schrieb:
> Die Position des für die EEPROM-Emulation genutzten Flash-Sektors
> hängt
> von der Flash-Gesamtgröße ab. Wenn das Projekt für eine zu hohe
> Flash-Größe kompiliert wird, landen die Daten im Nichts.

Vielen Dank für den Hinweis. Ich habe im Menüpunkt Werkzeuge/Flashsize 
den Wert von 1MB auf 256K heruntergesetzt (den genauen Wert der Module 
kenne ich nicht). Aber es hat geholfen, nun funzt es so, wie es sollte. 
Danke!

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.