Forum: Mikrocontroller und Digitale Elektronik Watchdog Timer


von Trasher (Gast)


Lesenswert?

Hallo !

Ich besitze einen AVR 90s8535.
Die ganze versuche ich den Watchdog Timer in betrieb zu nehemn,
aber es klappt einfach nicht.
Hat jemand ein kleines Beispielprogramm in C?
(ich verwende den CodevisionAVR)

von Helge (Gast)


Lesenswert?

Hallo
Ich hatte das gleiche Problem. Allerdings mit einem Mega128. Bei mir
war die Initialisierung (WDTCR=0x0F;) richtig und es ging trotzdem
nicht. Die Lösung war ganz einfach: Ich hatte im Testprogramm ne Pause
---delay_ms(2000)--- eingebaut und dachte, daß der Watchdog anspricht.
Aber er wollte nicht. Genau dieser delay_ms Befehl setzt bei Codevision
den Watchdog außer kraft.
Ich habe als Test dann einfach auf ein Zeichen der UART gewartet (das
nie kam) und der Watchdog wurde aktiv.
Gruß Helge

von Trasher (Gast)


Lesenswert?

Danke für die Info!
Kannst du mir diesen Code in C ins Forum stellen?
Wäre dafür sehr dankbar.
Da kann ich dann sehen wie es genau funktioniert.

von Helge (Gast)


Lesenswert?

Hallo
Du brauchst ihn nur über das WDTCR Register aktivieren.
Den Teiler mußt du dir aus dem Datenblatt für dein Prozessor suchen.

//Mega128
// Watchdog Timer initialization
//WDTCR=0x00;    //überwachung aus
WDTCR=0x0F;    //watchdog aktiv OSC/2048

so sollte es reichen und funktionieren.
Gruß Helge

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.