Hallo Daniel,
ich nehme mal an, dass Du die Schreibprozesse so geplant hast, dass Du nicht ständig, also in kurzen Zyklen auf dem EEPROM „schreibst“, also so gesagt die Lebensdauer beachtet hast.
Warum benutzt Du in dem Falle nicht Deinen eigenen Adresspointer, die Ablage vorzugsweise gleich in dem EEPROM (Bereich den Du nicht überschreibst vorzugsweise Anfang/Ende) oder wenn Du Dir sicher bist, das die Kombi nie auseinandergerissen wird, wie es bei gesteckten I²C – Datenkarten möglich ist, auch gleich in den Prozessor-Eeprom.
Dort legst Du nach dem Schreibprozess (Du weißt ja wie viele Daten Du wohin schreibst) die nächste freie Eeprom Adresse ab.
Wenn Du also etwas schreiben möchtest:
- eigenen Adresspointer lesen
- ab der entsprechende Adresse im Eeprom schreiben
- eigenen Adresspointer entspr. erhöhen und wieder abspeichern
Wenn Du auslesen möchtest:
- eigenen Adresspointer lesen
- ab Startadresse bis Adresspointer auslesen
- eigenen Adresspointer auf erste Schreibadresse setzen und wieder abspeichern
Je nachdem was Du vorhast und wie Deine Energieversorgung und Schaltung aussieht, kannst Du diesen Adresspointer auch temporär im flüchtigen Speicher halten und bei Trennung der Spannung (eventuell mit vorhandener Restenergie) oder vor dem Abschalten erst abspeichern.
Mache ich bei unseren Geräten schon seit über 10 Jahren so, egal ob ich diese als Ringspeicher oder „normal“ mit zyklischer Auslesung nutze. Im ersten sowieso aber auch letzten Fall entfällt ein Löschen der ausgelesenen Daten.
Es geht auch sehr schnell, da Du den Eeprom nicht durchsuchen musst, was ja doch je nach Größe etwas Zeit beansprucht.
Gruß André
Lesezeichen