1488|0

6694

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

MSP430看门狗使用笔记&&低功耗模式下如何用看门狗监控程序跑飞 [复制链接]

一、看门狗简介

1、看门狗可用来当定时器计时,也可用来防止程序跑死。主要对应到两种工作模式,定时器模式和看门狗模式。

2、MSP430默认看门狗模式打开,因此一般在程序初始化前,会用到指令“WDTCTL = WDTPW + WDTHOLD”关闭看门狗模式,不然程序会一直超时重启。

3、如果想启用看门狗的定时器功能或看门狗超时复位功能,则需要对看门狗进行重新设置,以下将详细介绍。

二、定时器模式

1、设置成定时器模式时,超时溢出后,会进入看门狗中断函数。这样就可以当定时器用了。

2、注意当设置成定时器模式,计时溢出后,只进入看门狗中断函数,不会软重启MCU。溢出后自动重新计时。

3、设置成定时器模式,可以根据选择的时钟源和分频参数,进行不同时间参数的定时(测试过可以进行1s、8s、60s等参数的定时)。

4、由于看门狗定时器模式定时的时间和选择的时钟源和分频有关,所以只能进行一些典型参数的定时,跟普通的定时器有区别。

三、看门狗模式

1、设置成看门狗模式后,超时溢出后,就不会进入所谓程序里面的看门狗中断函数里,所以要在溢出前用指令进行喂狗,才能不会误复位。

2、喂狗其实就是对WDTCTL重新配置,也可切成关闭或定时器模式。对比上图中对定时器模式和看门狗模式的接口设置,可以看出区别就是定时器模式多了WDTTMSEL。

3、看门狗模式可以设置的超时时间其实与定时器模式差不多,可以参考定时器模式的时钟源和分频参数,进行超时时间设置(比如1s、8s、60s等都可以)。

四、低功耗模式 && 看门狗模式

1、一般设备都需要设置成低功耗待机模式,同时又想开启看门狗防止程序跑死,在这种情况下,就需要注意以下的几点了。

2、低功耗模式不能选择LPM4模式,最理想的方案是推荐选择LPM3模式,因为LPM4模式中时钟源SMCLK和ACLK都是关闭的。

3、待机时如果是进入了LPM3模式,而且程序一开始就设置成了看门狗模式,由于程序执行“__bis_SR_register(LPM3_bits | GIE)”指令后,就会一直循环在这,不会跳到喂狗指令,因此结果就会导致超时重启,这种现象是有方法避免的,方法有两种,详见下文。

4、方法一,可以一开始把看门狗设置成定时器模式,超时溢出进入看门狗中断时退出低功耗模式;在主循环程序一开始设置成看门狗模式,在进入LPM3之前设置成定时器模式。

5、方法二,可以开始一个定时器用于喂狗,但是考虑到低功耗和资源的节约利用,推荐使用第一种方法,即可实现低功耗模式和看门狗模式的冲突问题。

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表