有时间发帖不如多看两遍参考手册,以下文字摘抄自官方:
The WDT+ interrupt flag, WDTIFG, located in IFG1.0。说明了看门狗的中断标志位叫做WDTIFG位于IFG1寄存器的第0位。
When using the WDT+ in interval timer mode, the WDTIFG flag is set after the selected time interval and requests a WDT+ interval timer interrupt if the WDTIE and the GIE bits are set。说明这个标志位在在周期定时模式且看门狗中断与全局中断开的时候,只要定时时间到就会将标志位置一。
再说程序的事,上面WDTCTL=WDT_ADLY_1000完成设置,定时器间隔为1s。延时程序首先清标志位,然后等到标志位置一,就过去了1s并把标志位清0(有点重复?)。循环两次就是2s,你那个应该是3秒。
IFG1是寄存器,0X0002U是IFG1_。下面IFG1又通过宏U0IFG进行了重定义,所以你应该看宏U0IFG的定义。