Forum: Mikrocontroller und Digitale Elektronik Watchdog Timeout


von Klaus T. (Gast)


Lesenswert?

Hallo

kann der Watchdog des ATm8515 wirklich nur bis 2.2 sekunden warten?
Ich habe ein Programm wo man länger warten müsste. Oder gibts da
ALternativen?

von Philipp Sªsse (Gast)


Lesenswert?

Ist es nicht möglich, diese lange Aufgabe in Teilaufgaben zu zerlegen
und zwischendurch den Watchdog zu bedienen?

Du kannst aber den Watchdog in einem Timerinterrupt bedienen, bis eine
bestimmte Zeit abgelaufen ist. Beispiel: Du willst einen
10-Sekunden-Watchdog. Dann mach ein sekündliches Interrupt, das eine
Variable runterzählt und, falls sie noch nicht auf null ist, den
Watchdog bedient. In Deinem main()-loop setzt Du die Variable immer auf
10. Wird der main-Loop 10 Sekunden nicht mehr erreicht, kommt die
Variable bei null an und der Watchdog wird nicht mehr bedient -> peng.

Aber bedenke: eine echte Störung merkst Du auch erst bis zu zehn
Sekunden zu spät. Deswegen lieber an mehreren Stellen im main-loop
einen Watchdog mit kürzerer Konstante bedienen.

von Klaus T. (Gast)


Lesenswert?

im Tutorial
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_Watchdog

steht, man kann unter Nutzung der <wdt.h>

für das "timeout" Zahlen eintragen, eine "8" würde 4 Sekunden
bedeuten.

Das funzt auch?

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.