Hallo zusammen,
durch Test's ist mir aufgefallen, das mir mein Microcontroller (sehr sehr selten) auch mal falsche Werte aus dem EEProm zurück gibt. Es ist sehr sporadisch und betrifft auch immer zufällige Speicheradressen die beim erneuten einlesen auch wieder den richtigen Wert zurückgeben. Gelesen wird ganz normal über den Befehl "readeeprom". Es wird im laufe des Programms auch recht häufig gelesen aber immer nur einzeln mit anschließender Verarbeitung, deshalb gehe ich erstmal nicht davon aus, dass hier die spannung durch überanspruchung zusammen bricht (Messtechnisch konnte ich da auch nichts feststellen).
Mein Ansatz wäre daher die Werte mit einer Adressverschiebung im EEProm zu spiegeln und beim Programmstart diese gegeneinander zu prüfen und in ein Array zu Speichern und im weiteren Programm mit dem Arrya zu arbeiten. Sollte der Wert unterschiedlich sein wird der Vorgang einmal wiederholt, wenn dann alles in ordnung ist geht es weiter sonst Fehlermeldung. Danach wird noch geprüft ob der Wert innerhalb des Wertebereichs (min, max) liegt und ins Array geschrieben.
Gibt es da bessere/effizientere Möglichkeiten da Sicherheit reinzubekommen?
Schön wäre natürlich auch die Erkennung von defekten EEProm-Speicherstellen und eine Verschiebung/Verweisung auf eine Ersatz-Speicherstelle ohne das dies groß im Programmablauf auffällt.
Es sind fast 512 Bytes mit diversen Einstellungen die im EEProm gespeichert sind und nur gezielt durch den Benutzer verändert werden können aber ich muss sichergehen, dass diese auch korrekt sind.
für Ansätze oder Ideen wäre ich sehr Dankbar!
LG
durch Test's ist mir aufgefallen, das mir mein Microcontroller (sehr sehr selten) auch mal falsche Werte aus dem EEProm zurück gibt. Es ist sehr sporadisch und betrifft auch immer zufällige Speicheradressen die beim erneuten einlesen auch wieder den richtigen Wert zurückgeben. Gelesen wird ganz normal über den Befehl "readeeprom". Es wird im laufe des Programms auch recht häufig gelesen aber immer nur einzeln mit anschließender Verarbeitung, deshalb gehe ich erstmal nicht davon aus, dass hier die spannung durch überanspruchung zusammen bricht (Messtechnisch konnte ich da auch nichts feststellen).
Mein Ansatz wäre daher die Werte mit einer Adressverschiebung im EEProm zu spiegeln und beim Programmstart diese gegeneinander zu prüfen und in ein Array zu Speichern und im weiteren Programm mit dem Arrya zu arbeiten. Sollte der Wert unterschiedlich sein wird der Vorgang einmal wiederholt, wenn dann alles in ordnung ist geht es weiter sonst Fehlermeldung. Danach wird noch geprüft ob der Wert innerhalb des Wertebereichs (min, max) liegt und ins Array geschrieben.
Gibt es da bessere/effizientere Möglichkeiten da Sicherheit reinzubekommen?
Schön wäre natürlich auch die Erkennung von defekten EEProm-Speicherstellen und eine Verschiebung/Verweisung auf eine Ersatz-Speicherstelle ohne das dies groß im Programmablauf auffällt.
Es sind fast 512 Bytes mit diversen Einstellungen die im EEProm gespeichert sind und nur gezielt durch den Benutzer verändert werden können aber ich muss sichergehen, dass diese auch korrekt sind.
für Ansätze oder Ideen wäre ich sehr Dankbar!
LG