[疑难问答] 喂狗问题

[复制链接]
1261|10
 楼主| bbapple 发表于 2016-9-21 10:40 | 显示全部楼层 |阅读模式
WDTCTL = WDT_MDLY_32;                   // Set Watchdog Timer interval to ~30ms

IE1 |= WDTIE;                                     // Enable WDT interrupt


怎么用它呢,中断里写什么,可以保证程序不跑偏?
handleMessage 发表于 2016-9-21 10:44 | 显示全部楼层
喂狗语句还是执行WDTCTL = WDT_MDLY_32。。。
zhouhuanの 发表于 2016-9-21 10:47 | 显示全部楼层
喂狗的时间怎么设置啊?
wanglaojii 发表于 2016-9-21 10:52 | 显示全部楼层
zhouhuanの 发表于 2016-9-21 10:47
喂狗的时间怎么设置啊?

喂狗的时间是根据系统本身的情况制定的吧。
laozhongyi 发表于 2016-9-21 10:55 | 显示全部楼层
一般要在主循环处喂狗,
Edisons 发表于 2016-9-21 11:01 | 显示全部楼层
laozhongyi 发表于 2016-9-21 10:55
一般要在主循环处喂狗,

在程序某些地方,如果执行某些任务的时间超过看门狗的时间,那么也需要喂狗的。。
_gege 发表于 2016-9-21 11:04 | 显示全部楼层
这里如果是一个循环,那么必须注意这里可能会形成一个死循环!
Mozarts 发表于 2016-9-21 11:08 | 显示全部楼层
如果把喂狗的语句放在小的循环体内时,要高度警惕这里会不会形成死循环啊。
Listate 发表于 2016-9-21 11:11 | 显示全部楼层
看门狗不是为了防止程序跑偏的,而是为了在程序跑飞时,能有一个可靠的恢复机制。
sourceInsight 发表于 2016-9-21 11:13 | 显示全部楼层
主循环显然比中断更合适,因为在某些情况下,即使程序跑飞了,中断也有可能触发,那么在中断中喂狗就不能及时察觉到主程序跑飞
 楼主| bbapple 发表于 2016-9-21 11:14 | 显示全部楼层

结贴了,多谢大家讨论这么多哈,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

293

主题

1811

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部