Ich verwende die eeprom_write_block() Funktion um Messwerte in einen
Ringbuffer ins EEPROM zu schreiben.
Zum Algorithmus:
1 | 1. Datenzeile ins EEPROM schreiben, index++
|
2 | 2. nächste Datenzeile im EEPROM mit 0xFF als leer markieren
|
3 | 3. weiter mit dem Programm und irgendwann wieder zu 1. zurück.
|
Das "leeren" (0xFF setzen) der nächsten Datenzeile hat den Vorteil, dass
ich damit die index-Variable nicht jedes Mal (an die selbe Stelle) ins
EEPROM schreiben muss -> wirkliche, gleichmäßige Verteilung der EEPROM
Schreibzugriffe. Außerdem passt es mit der default-Initialisierung des
EEPROMS zusammen :-)
Nachteil: pro Datensatz werden 2 Zeilen geschrieben (aber eben immer
andere Zeilen)
Gibt es andere, EEPROM schonendere, Möglichkeiten?
Ist es besser die beiden Datenzeilen in einem Rutsch ins EEPROM zu
schreiben, oder kann ich eeprom_write_block() auch 2x hintereinander
aufrufen?