单片机程序写辣么多,看门狗狗天天见,你的狗狗养的对么?不停的喂狗,只要狗不叫就完了嘛?真是这样么?事实上可能不是你想的辣么简单…!
啥叫看门狗?
看门狗也称为看门狗定时器,本质上是一种定时电路或者软件定时器机制。工作原理:看门狗的硬件基础是一个计数器,该计数器被设置为某个定时初值,然后递减至零。软件负责经常将计数重置为其定时初值,以确保计数永远不会达到零。如果确实达到零,则意味着某种故障发生,该采取对应措施应对,或重启或进入失效安全状态,具体取决于系统的设计。
正常工作时,单片机、处理器或者线程,周期性重置看门狗定时器的定时值,定时器则在后台不断的计数,如果定时时间到了且没有再次喂狗,则狗叫,意味着一些不寻常的事情发生了!此时,狗狗对外发出指令,执行相应的动作。这里所谓的动作究竟是什么?取决于实际系统的设计。常见的看门狗芯片则会发出复位信号给单片机或者处理,对于软件定时器而言,具体会有何种动作,则灵活多变,具体取决于采用何种安全策略。
通俗讲也称为喂狗,这个定时值相当于狗粮,狗狗吃饱了,胃里不断消耗狗粮,如果在消耗完之前没有再喂狗粮,狗狗会饿得直叫唤,发出预警消息。反言之,一个一直正常工作的系统,其看门狗总是被喂养的很好,不会饿了狂叫。
注:看到有文章把重置看门狗定时器叫踢狗(kick watchdog),嗯嗯,这不太好,要对狗狗好一点,不要踢,叫喂吧~~~
看门狗机制在电子系统中作用非常之重要&