当前位置:文档之家› 详解MSP430看门狗使用方法

详解MSP430看门狗使用方法

详解MSP430看门狗使用方法
时间:2012-10-12 16:07:11 来源:21ic整理 作者:
以MSP430F2274为例。其中汇编实现采用的是IAR汇编,CCE汇编实现稍作修改
即可。

1.看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。
2.其中后两种模式可以选择的时钟源有:SMCLK和ACLK。
3.在使用后两种模式时候要注意单片机所处的状态下看门狗能否工作,如单片机
处在LPM3时候只有ACLK时钟,处在LPM4下,没有时钟可以使用。

4.看门狗模式的使用方法:当看门狗计数溢出时,程序复位。在程序中开启看门
狗,在计数溢出前清空看门狗,或重置看门狗,以使其重新计数。若程序跑飞,
看门狗可能没有被清空或重置,就会溢,使程序复位。

5.在MSP430F2274中,看门狗模式下可以计时最长为1s,若需要以更长的时间
复位,可采取的方法,使用其他计数器,计数满后执行 ((void
(*)())RESET_VECTOR)();或计数满后往看门狗控制寄存器写个错误值或执行一
条无效命令:如((void (*)())0x170)();0x170是外围模块的一个地址,不可能
是一个函数地址,所以执行此句将使程序复位。

停止模式:关闭看门狗
C语言实现:WDTCTL = WDTPW + WDTHOLD
汇编语言实现:mov.w #WDTPW+WDTHOLD,&WDTCTL
计时器模式:作为一个计时器使用,计数器满产生中断时执行看门狗中断函数。
经验分享:学习单片机重要的是实践,所以开发板是很重要,给大家推荐些淘宝上信誉良好
并且软硬件及小零件等、售前售后服务良好的皇冠级金钻店铺给大家,在硬件购买上少走弯
路。
按住Ctrl键单击即可:
慧净电子单片机(一皇冠)

【天津商盟】天津锐志(电子)单片机经营部(两皇冠)
金沙滩工作室(5钻)
深圳育松电子元件,模块,传感器,批发部:淘宝最全最平价(5皇冠)
志宏电子(4钻)
C语言实现:
主程序中:开启看门狗计时器,如:WDTCTL = WDT_MDLY_8;或WDTCTL =
WDT_ADLY_250;等

看门狗中断函数为:
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
//..................................
}
汇编语言实现:
开启看门狗计时器,如:
mov.w
#WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0 ,&WDTCTL
或 mov.w
#WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0 ,&WDTCTL等
中断向量表中的看门狗中断向量:
ORG 0FFF4h ;msp430f2274的看门狗中断地址
DW
RESET ;程序开始处以REST作为标号
看门狗中断函数:
WDT_ISR
;....................
reti
看门狗模式:计数溢出时,执行复位中断函数。
C语言实现:
清看门狗:WDTCTL = WDTPW+WDTCNCTL;
设置看门狗:WDTCTL = WDT_MRST_0_5;
或WDTCTL = WDT_ARST_1000;等
汇编语言实现:
中断向量表中的复位向量:
ORG 0FFFEh ;msp430f2274的复位地址
DW
RESET ;程序开始处以REST作为标号
清看门狗:mov.w #WDTPW+WDTCNCTL,&WDTCTL
设置看门狗:
mov.w
# WDTPW+WDTCNTCL+WDTIS1 ,&WDTCTL
mov.w
# WDTPW+WDTCNTCL+WDTSSEL,&WDTCTL;等

相关主题