当前位置:文档之家› MSP430F149的看门狗操作

MSP430F149的看门狗操作

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)
{
//中断程序,硬件自动清除中断标志所有不用软件清除。

}。

相关主题