MSP430F149的看门狗操作
1)看门狗的图解
图1 看门狗图解
2)看门狗介绍
看门狗由一个16位寄存器控制,高八位是密匙,密匙密码是05AH,读取是069H。
MSP430F149的看门狗是系统默认开启的,所有一般不用的时候,程序一开始就关闭看门狗。
看门狗有两种工作模式:
1.看门狗模式。
2.定时器模式。
3)看门狗的控制寄存器
1.WDTCTL
●WDTPW:高八位是密匙。
一般IAR的头文件里面都包含有。
●WDTHOLD:选择是否打开看门狗。
0开1关。
●WDTNMIES:当复位端用作NMI(外部的非可屏蔽中断)的时候,选择是上升沿触
发中断还是下降沿触发中断。
0上升1下降。
●WDTNMI:选择复位端是作为复位端口还是NMI(外部的非可屏蔽中断)端口。
0
复位1NMI。
●WDTTMSEL:选择看门狗模式还是定时器模式。
0看门狗1定时器。
●WDTCNTCL:看门狗计数清零。
1清零。
●WDTSSEL:看门狗的时钟来源选择。
0子系统时钟1主系统时钟。
●WDTISx:看门狗时钟分频选择。
2.IE1
●NIMIE:外部非可屏蔽中断使能。
●WDTIE:看门狗中断使能。
(当看门狗做定时器的时候也是这个使能)
3.IFG1(一般C语言不操作,都会有硬件置位)
●NMIIFG:外部非可屏蔽中断标志。
●WDTIFG:看门狗中断标志。
4)当看门狗用作定时器使用的时候的操作。
1.把看门狗设置到定时器模式。
(也还可以设置触发边沿,选择时钟和分频)
2.清零看门狗。
3.打开看门狗中断使能。
#include<msp430x14x.h>
#define uint unsigned int
void main()
{
WDTCTL=WDT_MDLY_32;//相当于WDTPW+WDTTMSEL+WDTCNTCL
//也就是密匙+选择定时器模式+清零看门狗
IE1|=WDTIE;//打开看门狗中断使能,由于看门狗是非可屏蔽中断所有不用
//打开总中断IE
while(1)
{
LPM3;
}
}
#pragma vector=WDT_VECTOR
//看门狗的中断入口地址是WDT_VECTOR,NMI的入口地址是NMI_VECTOR __interrupt void P1RT(void)
{
//中断程序,硬件自动清除中断标志所有不用软件清除。
}。