Hallo, ich möchte den Watchdog zur Überwachung mit dem Vorteiler 1:4 benutzen, stolpere aber gerade über die Beschreibung des Befehls CLRWDT für den 16F84. CLRWDT soll laut dem Data Sheet den Prescaler zurücksetzen. Heißt das, dass man bei jedem CLRWDT auch den Prescaler neu setzen muss? Gibt es irgendwo ein kleines Beispielprogramm herunterzuladen, welches nur den Watchdog aktiviert, Prescaler setzt und in einer Schleife CLRWDT ausführt?
Auszug aus dem Datenblatt PIC16F84A, Seite 30 The CLRWDT and SLEEP instructions clear the WDT and the postscaler (if assigned to the WDT) and prevent it from timing out and generating a device RESET condition. Der Prescaler (Postscaler) hat keine eigene Adresse und ist deshalb vom Programm aus nicht zugänglich.
Auf Seite 38 steht: ################################### CLRWDT Clear Watchdog Timer Syntax:[ label ] CLRWDT Operands: None Operation: 00h -> WDT 0 -> WDT prescaler, 1 -> TO 1 -> PD Status Affected: TO, PD Description: CLRWDT instruction resets the Watchdog Timer. It also resets the prescaler of the WDT. Status bits and PD are set. TO and PD are set. #################################### Vielleicht habe ich ein Verständnisproblem, aber unter Prescaler verstehe ich den Vorteiler, mit dem man die maximale Watchdogperiode einstellen kann, bevor der WD resetet. In meinem Fall wäre das 1:4, womit der WDT nach 4x18ms zubeißen würde. Nach einem CLRWDT beißt er aber nach 18ms zu, vermute ich.
Da vermutest Du falsch. In der Realität ist es ja ein Postscaler, also die Überläufe des WDT werden nochmal durch den entsprechenden Faktor geteilt. Wenn der Teiler jetzt nicht gelöscht würde, sammeln sich die vergangenen 4ms Zeiten an und der WD beisst zu. Durch das Löschen beginnt er jedesmal wieder bei 0 und es steht immer die volle Zeit zur Vrfügung.
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.