1、看门狗有三种作业形式:中止形式,计时器形式,看门狗形式。
2、其间后两种形式能够挑选的时钟源有:SMCLK和ACLK。
3、运用后两种形式时要注意单片机所在的状态下看门狗能否作业,如单片机处在LPM3时只要ACLK时钟,处在LPM4下,没有时钟能够运用。
4、看门狗形式的运用办法
当看门狗计数溢出时,程序复位。在程序中敞开看门狗,在计数溢出前清空看门狗,或重置看门狗,以使其从头计数。若程序跑飞,看门狗或许没有被清空或重置,就会溢出,使程序复位。
5、MSP430F2274中,看门狗形式下能够计时最长为1s,若需要以更长的时刻复位,可采纳的办法,运用其他计数器,计数满后履行((void(*)())RESET_VECTOR)();或计数满后往看门狗操控寄存器写个过错值或履行一条无效指令:如((void(*)())0x170)();0x170是外围模块的一个地址,不或许是一个函数地址,所以履行此句将使程序复位。
6、看门狗的详细运用
6.1、中止形式:封闭看门狗
C言语完成:WDTCTL = WDTPW + WDTHOLD
6.2、计时器形式:作为一个计时器运用,计数器满发生中止时履行看门狗中止函数。
C言语完成:
主程序中敞开看门狗计时器,如:WDTCTL = WDT_MDLY_8;
看门狗中止函数为:
#pragmavector=WDT_VECTOR
__interruptvoid wATchdog_timer(void)
{
}
6.3、看门狗形式:计数溢出时,履行复位中止函数。
C言语完成:
清看门狗:WDTCTL = WDTPW+WDTCNTCL;
设置看门狗:WDTCTL = WDT_MRST_0_5;
或WDTCTL = WDT_ARST_1000;