Bug in Atmega88 - oder bin ich zu dumm fürs EEPROM

Gast #525635
Lesenswert?

Ich versuche seit einiger Zeit, einen 16 Byte langen Bereich im EEPROM 
eines Atmega88 zu löschen. Der angehängte Programmcode zeigt die 
entsprechende Routine.

Mein Problem:
Es werden nur 10 der 16 Byte tatsächlich gelöscht. Ich habe das 
überprüft, indem ich zuvor den entsprechenden Bereich des EEPROM mit den 
Hex-Werten 0x01 bis 0x10 gefüllt habe. Nach dem Ausführen der 
Löschroutine stehen die letzen Bytes immer noch auf den 
Initialisierungswerten!

Was läuft da schief? HAbe ich einen Denkfehler im Programmcose oder 
spinnt der ATmega tatsächlich?
Angehängte Dateien:
#525743
Lesenswert?

MaxMueller wrote:

> Man sollte halt darauf achten, dass bei Schreibzugriffen auf das EEPROM
> innerhalb einer Schleife ein evtl. aktiver Wachhund gelegentlich mal
> zurückgepfiffen wird...

Man sollte generell während der Programmentwicklung keinen Watchdog 
nehmen.
Ein Programm muß auch ohne Watchdog laufen, alles andere ist großer 
Mist.

Der Watchdog ist nur für Hochzuverlässigkeitsanwendungen (unbemannt) 
sinnvoll und darf erst nach der kompletten Fertigstellung der Anwendung 
implementiert werden.


Peter
Gast #525784
Lesenswert?

@ Peter Dannegger

>Der Watchdog ist nur für Hochzuverlässigkeitsanwendungen (unbemannt)
>sinnvoll und darf erst nach der kompletten Fertigstellung der Anwendung
>implementiert werden.

Wobei "Hochzuverlässigkeit" nicht in erster Line durch den Watchdog 
entsteht, sondern duch solide Programmierung und Tests. Der Watchdog ist 
nur der Rettungsanker, wenn dennoch alle Stricke reissen (So ne 
Technikeranfahrt in die Pampa oder in die Erdumlaufbahn ist im 
allegemeinen nicht billig)

MFG
Falk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren