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