Forum: Mikrocontroller und Digitale Elektronik Watchdog mit Prescaler bei PIC benutzen


von Mark T. (bitts)


Lesenswert?

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?

von Dieter Werner (Gast)


Lesenswert?

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.

von Mark T. (bitts)


Lesenswert?

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.

von Dieter Werner (Gast)


Lesenswert?

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