打印

喂狗怎么喂

[复制链接]
1790|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dengdc|  楼主 | 2016-9-11 21:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
heweibig| | 2016-9-11 21:07 | 只看该作者
在主循环里喂狗

使用特权

评论回复
板凳
heweibig| | 2016-9-11 21:08 | 只看该作者

喂狗语句还是执行WDTCTL = WDT_MDLY_32

使用特权

评论回复
地板
dengdc|  楼主 | 2016-9-11 21:09 | 只看该作者
喂狗的时间?

使用特权

评论回复
5
wuhany| | 2016-9-11 21:10 | 只看该作者
喂狗的时间是根据系统本身的情况制定的

使用特权

评论回复
6
huangchui| | 2016-9-11 21:13 | 只看该作者
一般要在主循环处喂狗,
另外在程序某些地方,如果执行某些任务的时间超过看门狗的时间,那么也需要喂狗,

使用特权

评论回复
7
heweibig| | 2016-9-11 21:14 | 只看该作者
这里如果是一个循环,那么必须注意这里可能会形成一个死循环!

使用特权

评论回复
8
heweibig| | 2016-9-11 21:15 | 只看该作者
所以把喂狗的语句放在小的循环体内时,要高度警惕这里会不会形成死循环。

使用特权

评论回复
9
jiahy| | 2016-9-11 21:16 | 只看该作者
我记得TI的C2000系列喂狗有两个指令,TI推荐在主循环里放一个、定时中断里放一个,这样可靠性比较高

使用特权

评论回复
10
jiaxw| | 2016-9-11 21:17 | 只看该作者
看门狗不是为了防止程序跑偏的,而是为了在程序跑飞时,能有一个可靠的恢复机制

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

使用特权

评论回复
11
liliang9554| | 2016-9-11 21:18 | 只看该作者
主循环显然比中断更合适,因为在某些情况下,即使程序跑飞了,中断也有可能触发,那么在中断中喂狗就不能及时察觉到主程序跑飞

使用特权

评论回复
12
午夜粪车| | 2016-9-11 21:20 | 只看该作者
总之,看门狗这是一个思路,要根据不同的应用来合理的安排才能获得最大的应用。照抄照搬就没有价值了。

使用特权

评论回复
13
jiajs| | 2016-9-11 21:21 | 只看该作者
一直没喂过狗,都是直接关狗。LZ要喂狗的话一定得对程序的执行时间把握好。

使用特权

评论回复
14
yszong| | 2016-9-11 21:24 | 只看该作者
WATCHDOG的功能就是预防程序跑飞.

使用特权

评论回复
15
heweibig| | 2016-9-11 21:25 | 只看该作者
防止程序跑飞而设置的看门狗,一般在主程序中设计

使用特权

评论回复
16
wuhany| | 2016-9-11 21:26 | 只看该作者
主循环显然比中断更合适,因为在某些情况下,即使程序跑飞了,中断也有可能触发,那么在中断中喂狗就不能及时察觉到主程序跑飞

使用特权

评论回复
17
lizye| | 2016-9-11 21:27 | 只看该作者
这个的却是的啊,我一般在定时器里面喂狗,效果是不理想的

使用特权

评论回复
18
shimx| | 2016-9-11 21:31 | 只看该作者
主循环显然比中断更合适,因为在某些情况下,即使程序跑飞了,中断也有可能触发,那么在中断中喂狗就不能及时察觉到主程序跑飞

使用特权

评论回复
19
spark周| | 2016-9-11 21:32 | 只看该作者
通常情况下:在程序可以正常执行的主循环中喂狗一次,看门狗溢出时间根据程序运行时间而定。在某些特殊情况下也需要喂狗,譬如在一次超出看门狗溢出时间的延时子函数,或者系统在等待某次触发条件才能继续执行后面的程序、、、、、总之,理解了看门狗的作用后,就可以了

使用特权

评论回复
20
dengdc|  楼主 | 2016-9-11 21:33 | 只看该作者
结贴了,多谢大家讨论这么多哈,呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

粉丝