加看门狗的方法?

[复制链接]
3068|11
 楼主| komad 发表于 2010-9-27 21:52 | 显示全部楼层 |阅读模式
加看门狗是为了程序跑飞,可以复位;
喂狗最好是在主程序里;
但如果一个程序不能在主程序里喂狗,因为每个子程序中都有一个等待循环,
也就是说一个程序不一定会在几毫秒内循环完成,可能一个子程序都要循环很长时间;
如果要加看门狗的话则要在每个子程序里都加,这样难免会很乱;
如果是加在中断里?程序如果跑飞了,那中断还是能进去,那也就起不到看门狗的作用了?
这狗怎么喂才好啊?:Q
jt4117 发表于 2010-9-27 22:59 | 显示全部楼层
说明你的程序结构不好。
bogekanpu 发表于 2010-9-27 23:34 | 显示全部楼层
如果是这样的话,子程序里也必须得喂狗,而且子程序喂狗也是可行的
 楼主| komad 发表于 2010-9-28 20:03 | 显示全部楼层
得改程序结构了!
yewuyi 发表于 2010-9-28 21:07 | 显示全部楼层
炖了吃最好。
fzu_csc 发表于 2010-9-29 08:56 | 显示全部楼层
中断里有条件地喂,这个条件是根据主循环任务级响应时间置一个计数器。

见过PIC的张明峰强调一定在主循环里喂狗,不以为然。
fzu_csc 发表于 2010-9-29 08:58 | 显示全部楼层
只要环环相扣就可以。
singleywy 发表于 2010-9-29 09:33 | 显示全部楼层
6# fzu_csc
恩,我就是这样设计的,一个定时器做狗,在另一个定时器中不断地喂狗,在主程序中设立喂狗标志,这样环环相扣,保证了,狗的准确性,不过牺牲了一个定时器,呵呵
singleywy 发表于 2010-9-29 09:34 | 显示全部楼层
7# fzu_csc
恩,这样,主程序与喂狗的中断,同时失效的概率,这小之又小啊
zjucsd 发表于 2010-9-29 10:12 | 显示全部楼层
看看能不能改个结构
zdhlixiang2006 发表于 2010-10-4 17:46 | 显示全部楼层
5楼犀利
hgjinwei 发表于 2010-10-5 14:53 | 显示全部楼层
到处喂狗,怕丫养不肥?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

118

帖子

0

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