看门狗----喂狗
看门狗(watchingdog)本质上是一种定时器(timer).
定时器有软件定时器和硬件的定时器,软件定时器的一般的操作方法是在一定的时间内向操作系统发送消息,一定时间一般又体现为时间递减的形式,例如时间在2000毫秒时向操作系统发送一个window消息,适合于window这样的消息驱动的机制;硬件上的定时器是一个硬件的模块,在一定时间内发出中断,出发中断服务函数响应。
看门狗是一种硬件上的定时器,我们可以制定它在到达时间内reset控制器,它与普通定时器的不同之处就在于他可以reset。使用看门狗功能的器件要定时的向它发送消息,以用来表示自己在正常工作着,也就是我们所说的“喂狗”,当该器件不再“喂狗”时,看门狗则认为该器件发生了异常,从而在时间到达的时候reset整个微控制器。
原理小故事:
向枪战片的清醒,人A带着狗B一起潜入一个地方,A进去,B在门口接应,A走的时候告诉B,如果我安全的话我会在每10分钟给你发出信号来证明我没有事情,如果没有收到我的消息的话证明我在里面有所不测,那么你就冲进来营救我。在嵌入式控制器里面的这只狗就称之为看门狗。