MSP430F5438 & Watchdog :(

Gast #1328842
Lesenswert?

Moin !

Ich habe im Moment leider Probleme , den Watchdog des MSP430F5438 zum 
Laufen zu bekommen. Ich starte den Watchdog zwar, aber erhalte keinen 
Reset des µC, bei einem Test mit while(1) Schleife :(

Mein Code sieht folgendermaßen aus:
1
// Defines für den WDT
2

3

4
// Bit 8..15 -> bei jedem schreibzugriff auf WDTCTL
5
//löschen, dann beschreiben mit WDTPW Passwort
6

7
#define WDT_STOP   WDTCTL = WDTPW + ((0x00FF & WDTCTL) |  WDTHOLD);
8
//WDTHOLD, Passwortbits = 0 und REST gesetzt ergibt 0x007F
9
#define WDT_START   WDTCTL =  WDTPW + (WDTCTL & 0x007F);
10

11
#define WDT_RESET   WDTCTL = WDTPW + ((0x00FF & WDTCTL) |  WDTCNTCL);

In der main wird dann VOR der while(1) Schleife folgendes aufgerufen
1
  //Watchdog initialisierung
2

3
  //WDTHOLD = 1; für angehalten, sollte bei Änderungen gehalten bleiben
4

5
  //WDTCNTCL = 1; Counterclearbit, Zähler auf 0x0000
6
  //WDTSSEL = 1; Sourceselectbit, ACLK
7
  //WDTIS0..1 = 00; Timerinterval  CLK/32768 -> 1s
8

9
  WDTCTL = WDTPW + WDTHOLD + WDTCNTCL +  WDTSSEL__ACLK;
10
  
11
  //Starten des Watchdogs
12
  WDT_START;
13

14
  //Bei Funktionseintritt wird  aufgerufen
15
  WDT_RESET;

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