Ist Brownout gesetzt? Das sollte verhindern dass bei zu niedriger Spannung der µC etwas macht. Es steht ja oben dass der µC bei zu niedriger Spannung irgendetwas macht, das muss mit dem Code nichts zu tun haben.
Ich hatte einmal in den weiten des www zu EEPROM Problemen gelesen das bevorzugt die Stelle 0 falsche Werte liefert. Da wurde empfohlen einfach ab Speicherstelle 1 zu schreiben.
Eine weitere Vermutung gab es: es wird im Fehlerfall die Speicherstelle falsch beschrieben, die als letzte geschrieben/gelesen wurde. Als Abhilfe sollte man daher immer nach EEPROM Operationen eine Speicherstelle auslesen die man garantiert nicht benötigt.
Bei mir hatte Brownout die Probleme behoben.
LG!
Lesezeichen