Karl Heinz schrieb:
> Ein per Programm
> aktivierter WD ist dann eben erst ab dem Zeitpunkt der Aktivierung
> aktiv.
Nicht immer. Nach einem Reset, Resetpin auf GND oder WD-Reset, ist der
WD weiterhin aktiv. Allerdings ist der Timer auf den kürzesten Wert
zurückgesetzt. Abgeschaltet wird der WD erst bei Power Off.
steffen schrieb:
> ok, vielen Dank. Eine Frage stellt sich mir dann doch noch, kann
> man den per Fuses aktiven Watchdog genau so ein und ausschalten wie den
> Software gesetzten?
Nein. Sinn und Zweck der Fuse ist es, dass man das eben nicht kann.
> Wie konfiguriere ich da den Timeout?
Die Konfiguration muss in einer "Timed Sequence" erfolgen. D.h., dass
innerhalb von 4 Takten 2 Befehle ausgeführt werden müssen:
1 | //Teste ob Watchdog ein, setze auf 8s
|
2 | if(WDTCSR & (1 << WDE))
|
3 | {
|
4 | WDTCSR = (1<<WDCE) | (1<<WDE);
|
5 | WDTCSR = (1<<WDE) | (1<<WDP3) | (1<<WDP0);
|
6 | }
|
Sinnvollerweise sollte dies als allererstes in der main erfolgen.
mfg.