Forum: Mikrocontroller und Digitale Elektronik Watchdog resettet zu früh


von Oliver (Gast)


Angehängte Dateien:

Lesenswert?

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

von MSE (Gast)


Lesenswert?

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

von Oliver (Gast)


Lesenswert?

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.

von TravelRec. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.