MSP430第十六章:看门狗

1. 介绍

看门狗定时器模块WDT_A的作用是在软件发生死机或跑飞后控制程序重启。当超过设定的时间而没有喂狗时,就会产生复位中断。如果不需要看门狗功能,可配置为普通定时器或者关闭。

  • 8个可选定时时间
  • 看门狗工作模式
  • 定时器模式
  • 带密码保护的控制寄存器
  • 可选时钟源
  • 允许关闭降低功耗
  • 时钟故障保护

在这里插入图片描述

2. 看门狗操作

看门狗定时器模块可以配置为看门狗或普通定时器。WDTCTL是一个16位密码保护的读写寄存器。任何读或写访问都必须使用word指令,并且写访问必须使用密码05Ah。任何对WDTCTL的写操作,只要高字节的值不是05Ah,就会违反密码,并触发PUC系统重置。对WDTCTL的任何读取都是在高字节读取069h。字节读取WDTCTL高或低部分的结果是低字节的值。将字节宽的数据写入WDTCTL的上部分或下部分会导致PUC。
2.1 看门狗计数器WDTCNT
WDTCNT是一个32位计数器,软件不能直接访问。通过看门狗定时器控制(WDTCTL)寄存器控制WDTCNT并选择它的时间间隔。
2.2 看门狗模式
PUC完成后,WDT_A模块自动使用SMCLK配置在看门狗模式下,初始复位间隔为32ms。用户必须在初始重置间隔到期之前设置或停止WDT_A。当配置为看门狗模式时,如果向WDTCTL写入密码错误或超过所选时间间隔,都会触发PUC。PUC将看门狗定时器重置为默认状态。
2.3 定时模式
设置WDTTMSEL位为1选择了间隔定时器模式,该模式可以提供周期性中断。在间隔定时器模式下,WDTIFG标志会在所选时间间隔的过期时间置1。在指定的定时器时间间隔过期时,不会使用间隔定时器方式生成PUC,WDTIFG使能位WDTIE保持不变。
当WDTIE位和GIE位置1时,WDTIFG标志会请求中断。当中断请求得到服务时,WDTIFG中断标志被自动重置,或者它可能被软件重置。定时器模式下的中断向量地址与看门狗模式下的中断向量地址不同。
看门狗定时器间隔应该和WDTCNTCL = 1一起在一条指令中改变,以避免意外的立即PUC或中断。看门狗计时器应该在改变时钟源之前停止,以避免可能的错误间隔。
2.4 看门狗中断
看门狗定时器在SFRs中使用两个位来进行中断控制:

  • WDT中断标志,WDTIFG,位于SFRIFG1.0
  • WDT中断启用,WDTIE,位于SFRIE1.0

在看门狗模式下,WDTIFG源于一个复位矢量中断 。当看门狗超时事件发生时,WDTIFG将自动清除。读取SYSRSTIV可以判断复位是否是由看门狗超时事件引起的。在定时器模式下使用看门狗定时器时,在选定的时间间隔后将WDTIFG标志置1,并请求定时器中断。WDTIFG标志在中断被服务时自动复位,或者可以用软件复位。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值