Forum: Mikrocontroller und Digitale Elektronik MSP430F155 & Watchdog


von Lars D. (eitum)


Lesenswert?

Aus Sicherungsgründen soll ich bei meinem Sensor den Watchdog 
aktivieren.
Klingt einfach. hat aber eingie Tücken die ich nicht ganz verstehe.

Beim Init wird er erstmal ausgeschalten. Das Programm soll ja erstma in 
Ruhe starten.

Dann kommt:
1
  WDTCTL   =   WDT_ARST_1000;
2
3
  while(1)
4
  {
5
6
    WDTCTL   =   WDTPW + WDTCNTCL;
7
    sTemperatur.Temp_Diff_limit  =  fnReadFlash(TEMP_DIFF_LIMIT);
8
    sTemperatur.Temp_Warn    =  fnReadFlash(TEMP_WARN);
9
    sTemperatur.InnenMax    =  fnReadFlash(MAXTEMPINNEN);
10
    sTemperatur.AussenMax    =  fnReadFlash(MAXTEMPAUSSEN);
11
12
    sTemperatur.Innen_alt    =  sTemperatur.Innen;
13
    sTemperatur.Aussen_alt    =  sTemperatur.Aussen;
14
    WDTCTL   =   WDTPW + WDTCNTCL;
15
    sTemperatur.Innen       =  fnGetTemperatur(INNEN);
16
    sTemperatur.Aussen       =  fnGetTemperatur(AUSSEN);

ohne die 3. letzte Zeile kann ihc mittels Breakpoints feststellen, dass 
er die vorletzte Zeile erreicht, die letzte aber nicht.
Komischer Weise ist es das selbe Spiel mit der 3. letzten Zeile.  Müßte 
dieser Befehl den Watchdog Counter nicht reseten?
Die Abarbeitung der kompletten While Schleife dauert nichtmal eine 
Sekunde. Bei Der Watchdoginit müßte ich meines Erachtens nicht mal 
zwischendrin reseten.

Wo is mein Gedankenfehler?

von Jörg S. (joerg-s)


Lesenswert?

Dein ACLK ist tatsächlich 32kHz?

von Lars D. (eitum)


Lesenswert?

Ja ist ein Uhrenquarz mit 32,768kHz

von Jörg S. (joerg-s)


Lesenswert?

Hast du die Zeiten (Programm und Watchdog) mal EXAKT gemessen? Nicht das 
der Watchdog doch eher zuschlägt als dein Programm fertig ist.
Ohne Watchdog geht alles problemlos?

von Lars D. (eitum)


Lesenswert?

Ja ohne Watchdog geht alles.
Hab die Lösung gefunden.  beim Oversampling des ADCs und beim Berechnen 
der Quadratwurzel nutz ich for Schleifen. in diese Schleifen hab ich das 
Reset des WDT mal hinzugefügt und es läuft.

Wie kann man auf 1µs genau messen?

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.