如何快速理解看门狗的作用?

怎么快速理解看门狗的作用

如果在运行时候突然死机了,那怎么解决呢?此时如果您进行任何操作,单片机都不会做出响应,这时候只能通过断电让设备重启设备才能恢复正常。为了解决单片机死机的问题,天才的设计师给单片机设计一种叫做看门狗的电路,有了它的存在单片机一般就不会死机了。看门狗的英文名字是Watch dog 他的本质就是一个定时器,那定时器怎么实现定时呢?为了大家更好的理解,拿这个8位定时器来说他最多可以定时255个脉冲。如果一个脉冲时间是一毫秒,则这个定时器最大的定时时间就是255毫秒,比如我们定时128毫秒,它就从零开始计数,每来一个脉冲定时器就加一直到定时器计数到128,它就能触发中断。然后单片机就知道定时的时间到了。

看门狗和这个定时器的工作原理也是差不多的,只不过当时间到了之后,他触发不是常规中断而是触发的单片机复位,也就是重启。简单来说就是预先设置的一个时间,当时间到了之后,他就会触发单片机重启,这就是看门狗的作用。

如何使用看门狗,举例一个程序,它是1个LED流水灯的小程序,它的现象是4个LED灯轮流点亮,时间间隔是10毫秒,因为这个程序是在while的死循环里面,所以它会一直重复上面这个过程。接下来给它加入看门狗的程序在程序的最开始先设置看门狗的时间为50毫秒,然后再开启看门狗计时。此后开门狗就开始计时了,只要时间到了50毫秒,单片机就会重启。再然后程序进入死循环。第一步就是喂狗。说起喂狗,就是给看门狗清零,也就是让他从零开始计时,接下来LED灯开始流水闪烁,当4个流水灯循环完之后用了40毫秒,此时距离看门狗触发复位,还有10毫秒的时间,如果没有发生死机,当循环完一遍之后,程序又会返回到第一步。此时看门狗就会又被清零,然后进行下一次循环。只要程序正常运行,看门狗就永远不会触发单片机复位8。而当程序死机之后,程序就不会回到第一步去喂狗了。等50毫秒过去看门狗就会触发单片机复位。此时虽然死机了,但是看门狗不受影响,还在继续运行,所以能触发单片机复位。如果我们不喂狗呢,那结果可想而知的可怕。这样做的后果是每50毫秒单片机就会复位一次。对于如此高频的复位造成的后果将不亚于死机。此时看门狗就会变成一条疯狗,所以在使用看门狗的时候一定要把狗喂好了。

看门狗解析度是干嘛的,看门狗怎么读

看门狗解析度是干嘛的,看门狗怎么读

看门狗解析度是干嘛的,看门狗怎么读