单片机喂狗

【转】http://blog.163.com/wgx_work_2008/blog/static/9221172120081027103147206/

看门狗的原理
MCU 正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零。如果超
过规定的时间不喂狗(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,
让MCU 复位,防止MCU 死机。

喂狗注意事项:
1. 喂狗间歇不得大于看门狗溢出时间。
2. 避免在中断中喂狗
3. 避免多处喂狗

 

为什么要避免在中断中喂狗——答:有时后台程序被干扰了,程序已经陷入了异常,但是中断却仍旧可以响应,如果中断中喂狗,就无法起到看门狗作用了。

为什么要尽可能避免多处喂狗呢——如果喂狗的地方太多,当程序陷入异常,而这段异常的程序里正好也有一句喂狗,就无法起到看门狗作用了。所以,最好只在main()函数 (主程序)里喂狗。

看门狗电路发展的3 个阶段
1. 片外分立器件电路(用555 或4060 等构成)
2. 专用WDT 集成电路(如MAX706 等等)
3. CPU 片内集成

常见的看门狗电路

单片机喂狗 - chenguang - chenguang的博客

 

posted on 2014-11-17 09:41  vi_cc  阅读(1486)  评论(0编辑  收藏  举报

导航