Hallo zusammen, Im Anhang habe ich die Routinen zum starten und stoppen meiner Watchdog gelegt. Ich verwende den ATMega16L mit 3,6 V. Jetzt mein Problem: Nachdem ich die Watchdog starte, scheint sie auch zu funktionieren. Wenn ich jetzt aber von außen (über 232) einen Unterprogrammaufruf provoziere, schlägt der Watchdog sofort zu, ohne die 2 Sekunden zu warten. Muss man in jedem Unterprogramm sofort einen WDR machen? Denn eigentlich springt das Programm innerhalb weniger ms wieder zurück, von wo es gekommen ist und bekommt dort einen WDR. In einer Application Note habe ich etwas von Enhanced Watchdog Timer gelesen- das betrifft aber doch nur CPUs mit Watchdog-Interrupt, oder? Die Watchdog taktet sich doch in jedem Fall selbst, auch wenn ich mit externem 8MHz-Resonator arbeite, oder? Im Voraus besten Dank, Oliver
Ohne mich jetzt zu sehr damit zu beschäftigen: Funktioniert Dein Programm denn einwandfrei, wenn Du den Watchdog-Timer nicht aktiviert hast? (Am Ende stürzt die Routine einfach nur ab und erzeugt irgendwie einen Neustart, ohne dass der Watchdog etwas dafür kann?) Gruß, Michael
Das Programm funktioniert einwandfrei. Ich werte auch das MCUCSR-Register aus und stelle auf dem LCD dar, ob es sich um einen Power-on-,Watchdog-,Brown-out-Reset handelt. In meinem Fall zeigt er "Watchdog-Reset" an.
Sehr clever.... Also jede Unterroutine, die permanent läuft, sollte ein WDR enthalten, welches immer den Watchdog zurücksetzt. Der Watchdog soll ja nur auslösen, wenn der Prozi gar nicht mehr tut, also ein WDR mehr schadet bestimmt nicht.
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.