esp_eeprom
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
esp_eeprom [2022/05/20 10:59] – angelegt varnholt | esp_eeprom [2022/05/20 11:07] (aktuell) – varnholt | ||
---|---|---|---|
Zeile 13: | Zeile 13: | ||
int echtKölnischWasser = EEPROM.get(0); | int echtKölnischWasser = EEPROM.get(0); | ||
</ | </ | ||
+ | |||
+ | ==== Erster Start nach dem Kompilieren ==== | ||
+ | |||
+ | Manchmal möchte man einen Zähler im EEPROM nur nach einer neuen Kompilierung löschen. Hört sich einfach an, ist es aber nicht. Der Compiler kann automatisch eine variable mit der Zeit und dem Datum des letzten kompilieren belegen. Dies vergleicht man mit den im EEPROM hinterlegten Daten. Unterscheiden sie sich, dann wird der Zähler resettet. Sonst bleibt er wie er ist oder wird erhöht, ganz wie man will. | ||
+ | |||
+ | < | ||
+ | #include < | ||
+ | EEPROM.begin(20); | ||
+ | const char compile_time[] = __TIME__; | ||
+ | char time2[9] = " | ||
+ | for (int i = 0; i < 8; i++) time2[i] = EEPROM.read(i); | ||
+ | int gleich = 1; | ||
+ | for (int i = 0; i<8; i++) { | ||
+ | char c = time2[i]; | ||
+ | char d = compile_time[i]; | ||
+ | if (c!=d) gleich = 0; | ||
+ | } | ||
+ | if (gleich == 1) { | ||
+ | Serial.print(" | ||
+ | Serial.println((int)EEPROM.read(10)); | ||
+ | } else { | ||
+ | Serial.println(" | ||
+ | for (int i = 0; i < 8; i++) { | ||
+ | char c = compile_time[i]; | ||
+ | EEPROM.write(i, | ||
+ | } | ||
+ | EEPROM.put(10, | ||
+ | EEPROM.commit(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Stand Juni 2022 |
esp_eeprom.1653044358.txt.gz · Zuletzt geändert: 2022/05/20 10:59 von varnholt