[ZLG-MCU] 什么时候该用看门狗?——我的心得体会

[复制链接]
6620|6
 楼主| LPC900 发表于 2007-5-28 10:08 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp;看门狗功能能够有效解决程序意外跑飞的问题。程序正常运行时,及时执行喂狗操作,以避免看门狗复位。程序一旦跑飞,往往会陷入某个非法的死循环里,因为没有执行正常的喂狗操作,所以看门狗定时器很快溢出,从而导致系统复位。于是程序从头重新开始,而不是永远死在某个地方。<br />&nbsp;&nbsp;&nbsp;&nbsp;看门狗正确的应用场合应该是:在不用看门狗的情况下,硬件和软件经过反复调试已经通过,而在考虑到实际应用环境中出现的强烈干扰可能造成单片机程序跑飞的情况,再加入看门狗功能以提高整个系统的工作可靠性。可见,看门狗只不过是万不得已的最后手段而已。<br />&nbsp;&nbsp;&nbsp;&nbsp;但是,有相当多的工程师,尤其是经验不多者,在调试自己的系统时一出现程序跑飞,就马上引入看门狗来解决,而没有真正去思考程序为什么会跑飞。实际上,程序跑飞的大部分原因是程序本身存在bug,或者已经暗示硬件电路可能存在故障,而并非是受到了外部的干扰。如果试图用看门狗功能来“掩饰”这类潜在的问题,则是相当不明智的,也是危险的,因为潜在的系统设计缺陷可能一直伴随着您的产品最终到用户手中。<br />&nbsp;&nbsp;&nbsp;&nbsp;综上,我建议:在调试自己的系统时,先不要使用看门狗,待完全调通已经稳定工作了,最后再补上看门狗功能。
pk.kong 发表于 2007-5-31 10:00 | 显示全部楼层

顶一下

  
wolver 发表于 2007-6-1 09:10 | 显示全部楼层

嗯....是个高手

  
Airwill 发表于 2007-6-3 21:50 | 显示全部楼层

不错,&nbsp;无私奉献,&nbsp;佩服!
雁舞白沙 发表于 2007-6-3 21:53 | 显示全部楼层

  
niu9911 发表于 2007-6-3 22:05 | 显示全部楼层
xiaoyuan_ly 发表于 2007-6-6 13:56 | 显示全部楼层

同意LZ的。。

同意LZ的。。<br />应该是先不加看门狗,让其在实际工作环境中运行1-2个月,以确定程序的运行情况如何?&nbsp;&nbsp;是程序的BUG问题还是外环境的干扰,不太确定的话,可以加强外环境的抗干扰了,一般都是电源的问题,可以电源隔离之类,以确定程序死机的问题在哪??!!&nbsp;&nbsp;要做到不加看门狗都行,这才是正道。。。&nbsp;否则就难了。。。&nbsp;&nbsp;&nbsp;&nbsp;我个人是不加看门狗的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

130

帖子

1

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