【看门狗】MSP430学习小结1-看门狗的使用总结

看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。在很多单片机中都内置了看门狗,看门狗本身是一个定时器,当定时器溢出时即进行系统复位,因此需要在程序中对看门狗定时器进行清零,即常说的喂狗。
由于我用过AVR的单片机,和AVR的相比,MSP430的看门狗要灵活的多,首先默认看门狗是开着的,因此如果不使用看门狗的话要关闭,指令如下:
WDTCTL = WDTPW + WDTHOLD
如果打开看门狗则需要在程序中清零,指令如下:
WDTCTL=WDTPW+WDTCNTCL
这只是基本的应用,430的看门狗要稍微复杂一些,首先从IAR的头文件中看看定义了几种工作状态:


2.WDT通过SSEL 和IS0 IS1 3位可以确定与8种时钟源相关的时间(ACLK=32768Hz,SMCLK=1MHz)
SMCLK=1MH(对应8种)
WDT_MDLY_32
WDT_MRST_32
WDT_MDLY_8 
WDT_MRST_8
WDT_MDLY_0_5
WDT_MRST_0_5
WDT_MDLY_0_064
WDT_MRST_0_064
ACLK=32768Hz(对应8种)
WDT_ADLY_1000
WDT_ARST_1000
WDT_ADLY_250
WDT_ARST_250
WDT_ADLY_16
WDT_ARST_16
WDT_ADLY_1_9
WDT_ARST_1_9 
在头文件中查得:

【看门狗】MSP430学习小结1-看门狗的使用总结

代码解释:

WDTCTL =WDT_ARST_1000;  

在头文件中看到WDT_ARST_1000的定义为:(WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2)       

即上一条指令执行的是WDTCTL= WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2。

WDTCTL设置每条命令中必有WDTPW+..因为WDTPW代表写WDTCTL的时候高八位写05Ah,读的时候高八位为069h,否则触发PUC。

WDTCNTCL

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值