MSP430F155 & Watchdog

OP #1300257
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren