16 #ifdef __MSP430_HAS_WDT_A__
21 void WDT_A_hold (uint16_t baseAddress)
24 uint8_t newWDTStatus =
25 ((
HWREG16(baseAddress + OFS_WDTCTL) & 0x00FF) | WDTHOLD);
27 HWREG16(baseAddress + OFS_WDTCTL) = WDTPW + newWDTStatus;
30 void WDT_A_start (uint16_t baseAddress)
33 uint8_t newWDTStatus =
34 ((
HWREG16(baseAddress + OFS_WDTCTL) & 0x00FF) & ~(WDTHOLD));
36 HWREG16(baseAddress + OFS_WDTCTL) = WDTPW + newWDTStatus;
39 void WDT_A_resetTimer (uint16_t baseAddress)
42 uint8_t newWDTStatus =
43 ((
HWREG16(baseAddress + OFS_WDTCTL) & 0x00FF) | WDTCNTCL);
45 HWREG16(baseAddress + OFS_WDTCTL) = WDTPW + newWDTStatus;
48 void WDT_A_initWatchdogTimer (uint16_t baseAddress,
52 HWREG16(baseAddress + OFS_WDTCTL) =
53 WDTPW + WDTCNTCL + WDTHOLD + clockSelect + clockDivider;
56 void WDT_A_initIntervalTimer (uint16_t baseAddress,
60 HWREG16(baseAddress + OFS_WDTCTL) =
61 WDTPW + WDTCNTCL + WDTHOLD + WDTTMSEL + clockSelect + clockDivider;