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?
Übrigens verrichtet dieser Programmcode auf einem Attiny2313 (natürlich ohne die H-Adressregister) klaglos seinen Dienst...
Problem gefunden und behoben: Man sollte halt darauf achten, dass bei Schreibzugriffen auf das EEPROM innerhalb einer Schleife ein evtl. aktiver Wachhund gelegentlich mal zurückgepfiffen wird...
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
@ 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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.