打印

MSP430看门狗使用方法(转)

[复制链接]
4842|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
拿起书本|  楼主 | 2012-5-24 15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSP430F2274为例。其中汇编实现采用的是IAR汇编,CCE汇编实现稍作修改即可。 1.
看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。
2.
其中后两种模式可以选择的时钟源有:SMCLKACLK
3.
在使用后两种模式时候要注意单片机所处的状态下看门狗能否工作,如单片机处在LPM3时候只有ACLK时钟,处在LPM4下,没有时钟可以使用。
4.
看门狗模式的使用方法:当看门狗计数溢出时,程序复位。在程序中开启看门狗,在计数溢出前清空看门狗,或重置看门狗,以使其重新计数。若程序跑飞,看门狗可能没有被清空或重置,就会溢,使程序复位。
5.
MSP430F2274中,看门狗模式下可以计时最长为1s,若需要以更长的时间复位,可采取的方法,使用其他计数器,计数满后执行((void (*)())RESET_VECTOR)();或计数满后往看门狗控制寄存器写个错误值或执行一条无效命令:如((void (*)())0x170)();0x170是外围模块的一个地址,不可能是一个函数地址,所以执行此句将使程序复位。




停止模式:关闭看门狗
C语言实现:WDTCTL = WDTPW + WDTHOLD


汇编语言实现:mov.w #WDTPW+WDTHOLD,&WDTCTL




计时器模式:作为一个计时器使用,计数器满产生中断时执行看门狗中断函数。
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;等

相关帖子

沙发
tianli1980| | 2012-5-24 16:00 | 只看该作者
看门狗可以认为是软件的看护装置。
不错的学习资料,收了。

使用特权

评论回复
板凳
shenmulzb1985| | 2012-5-24 17:18 | 只看该作者
汇编、C语言对照解释,楼主有心了啊

使用特权

评论回复
地板
jxmzzr| | 2012-5-25 19:53 | 只看该作者
楼主的确热心,两种语言都用上了,很好的学习资料,谢谢,顶

使用特权

评论回复
5
shenmu2012| | 2012-5-28 10:30 | 只看该作者
看门狗在程序控制中非常有作用,学习了

使用特权

评论回复
6
ledaa| | 2012-5-28 10:37 | 只看该作者
很好,很有用

使用特权

评论回复
7
sqcumt123| | 2012-5-28 15:51 | 只看该作者
顶一下!

使用特权

评论回复
8
ty新气象| | 2012-5-28 16:00 | 只看该作者
这个不错。很实用。帮顶一下。

使用特权

评论回复
9
libra99| | 2012-5-28 16:07 | 只看该作者
canyu 1# 拿起书本

使用特权

评论回复
10
tianli1980| | 2012-6-11 22:25 | 只看该作者
非常实用的资料,感谢楼主两种语言都要用上了,楼主真是个热心肠人啊,顶一下

使用特权

评论回复
11
firstblood| | 2012-6-13 17:43 | 只看该作者
看完,讲解的很到位的额,谢谢

使用特权

评论回复
12
thankxie| | 2014-3-22 10:07 | 只看该作者

使用特权

评论回复
13
bk_ita| | 2016-4-20 20:00 | 只看该作者
收藏了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4195

帖子

31

粉丝