Watchdog Timer

Gast
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
Gast
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.
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.