哪里喂狗合适啊

[复制链接]
4365|25
 楼主| dengdc 发表于 2013-4-6 13:36 | 显示全部楼层 |阅读模式
WDTCTL = WDT_MDLY_32;                   // Set Watchdog Timer interval to ~30ms

IE1 |= WDTIE;                                     // Enable WDT interrupt


怎么用它呢,中断里写什么,可以保证程序不跑偏?
heweibig 发表于 2013-4-6 13:36 | 显示全部楼层
在主循环里喂狗
heweibig 发表于 2013-4-6 13:39 | 显示全部楼层
喂狗语句还是执行WDTCTL = WDT_MDLY_32
 楼主| dengdc 发表于 2013-4-6 13:39 | 显示全部楼层
喂狗的时间?
wuhany 发表于 2013-4-6 13:40 | 显示全部楼层
喂狗的时间是根据系统本身的情况制定的
huangchui 发表于 2013-4-6 13:42 | 显示全部楼层
一般要在主循环处喂狗,
另外在程序某些地方,如果执行某些任务的时间超过看门狗的时间,那么也需要喂狗,
heweibig 发表于 2013-4-6 13:43 | 显示全部楼层
这里如果是一个循环,那么必须注意这里可能会形成一个死循环!
heweibig 发表于 2013-4-6 13:43 | 显示全部楼层

所以把喂狗的语句放在小的循环体内时,要高度警惕这里会不会形成死循环。
wuhany 发表于 2013-4-6 13:49 | 显示全部楼层
楼上几位说得正解,楼主总结一下就行了
 楼主| dengdc 发表于 2013-4-6 13:49 | 显示全部楼层
嗯,好的,多谢大家
tong1991海深 发表于 2013-4-6 20:14 | 显示全部楼层
huangchui 发表于 2013-4-6 13:42
一般要在主循环处喂狗,
另外在程序某些地方,如果执行某些任务的时间超过看门狗的时间,那么也需要喂狗, ...

为什么要喂狗?什么叫喂狗?是看门狗吗
mmbs 发表于 2013-4-7 00:33 | 显示全部楼层
主循环里面。
你饭都凉了 发表于 2013-4-7 08:25 | 显示全部楼层
放主循环里靠谱
elec921 发表于 2013-4-7 08:47 | 显示全部楼层
我记得TI的C2000系列喂狗有两个指令,TI推荐在主循环里放一个、定时中断里放一个,这样可靠性比较高
wago2008 发表于 2013-4-7 09:20 | 显示全部楼层
果断主循环
三千花花世界 发表于 2013-4-7 09:39 | 显示全部楼层
看门狗不是为了防止程序跑偏的,而是为了在程序跑飞时,能有一个可靠的恢复机制

理解了这点再去思考在哪里喂狗合适

主循环显然比中断更合适,因为在某些情况下,即使程序跑飞了,中断也有可能触发,那么在中断中喂狗就不能及时察觉到主程序跑飞

总之,看门狗这是一个思路,要根据不同的应用来合理的安排才能获得最大的应用。照抄照搬就没有价值了。
kylin_sar 发表于 2013-4-7 10:14 | 显示全部楼层

果断主循环
ahljj 发表于 2013-4-7 19:03 | 显示全部楼层
。。。。。
~遥望~ 发表于 2013-4-8 13:37 | 显示全部楼层
一直没喂过狗,都是直接关狗。LZ要喂狗的话一定得对程序的执行时间把握好。
eemyicworld 发表于 2013-4-8 14:42 | 显示全部楼层
WATCHDOG的功能就是预防程序跑飞.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

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