Zitat Zitat von damfino Beitrag anzeigen
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.
Ach ja, die alte Geschichte. Das Internet vergisst halt nicht. Die wirkliche Sache war die: bei einem ganz bestimmten Atmel Prozessor (bin jetzt zu faul, den genauen Typ rauszusuchen) und von dem bei einer ganz bestimmten Hardware Revision (siehe vorherige Bemerkung, hab ich aber schon mal in einem anderen Thread geposted) gab es einen Bug. Wenn während einer Schreib- oder Löschoperation ins EEPROM ein Reset ausgelöst wurde, wurde das Adresregister auf Null gesetzt, die Schreiboperation aber nicht abgebrochen. So konnte es passieren, daß der EEPROM Inhalt auf Adresse Null zerstört wurde. Dieser Fehler wurde von Atmel in einem Errata beschrieben und in der nächsten Hardware Revision korrigiert. Wieviel von diesen Chips jemals in den Handel gekommen sind und wieviele davon in die Hände von Hobbybastlern gelangt sind, ist mir unbekannt. Das ganze ist mindestens 10 Jahre her, stammt aber eher aus dem vorigen Jahrtausend.

Ein EEPROM ist ein stabiler Speicher. Dieses hält laut Datenblatt zwanzig oder auch hundert Jahre die Daten, wenn man alles richtig macht. Es gibt keine Magie, die Daten verändert. Ich hab den Bug oben so ausführlich beschrieben, um zu zeigen daß auch da keine Magie im Spiel war. Wenn das nicht so wäre, würden sie nicht gebaut werden, für einen professionellen Einsatz wären sie unbrauchbar.

Ich schreibe auf den EEPROM erst ab 150 da ich immer vergesse ab wann es sicher geht.
Da klingt auch so was von Magie oder Handauflegen durch. Es geht auf jeder Adresse gleich sicher.

Es wird also ein Problem in der Software, möglicherweise ausgelöst durch Hardware, sein. Ich würde als erstes mal das Schreiben, wenn ein unplausibler Wert gelesen wird, weglassen. Es wird danach ja sowieso mit den Default-Werten aus dem Programm weitergearbeitet. Und wenn ich damit rechnen muß, daß mir meine Versorgung zusammenbricht, würde ich überhaupt nicht schreiben. Ein gängiges Verfahren ist, die Batteriespannung vor dem Regler zu überwachen, und ein Schreiben nur dann zuzulassen, wenn sie hoch genug ist. Einen Wackelkontakt bekommt man damit aber nicht in den Griff.

MfG Klebwax