它可是产品的守护神,产品在正常运作的情况下,它不会干什么事,相反,它还需要你在给定时间内喂它(俗称“喂狗”);而当产品发生异常时,它可以让芯片复位,把产品带回到正常的轨道上来。
产品卖出去了,外边的使用环境可比生产线或实验室复杂得多而难以预料,什么情况都可能发生,所以我们一般都会给产品上个看门狗。今天就来跟大家谈谈看门狗的使用。
一般来说,看门狗在开机启动时进行初始化,然后在循环里边和其他适当的地方喂狗就行了,大概像这样:
看起来很简单,但是有几需要注意的地方,我们来看看。
1. 我们有时候需要使用类似这样的延时函数:
发现加入看门狗之后,本来正常的程序,因为该延时导致了芯片复位,咋整?很简单,在延时里边加入喂狗,像这样:
或者这样:
当然,喂狗的形式不限于上述两种,只要保证死等的时间不超过看门狗定时就ok了。
2.能不能使用定时器来喂狗?答案是不能,曾经就这么天真的这么用过,虽然没遇到过什么恶劣情况,没看出看门狗到底有没起作用。但事实上,定时器哪怕在恶劣的情况下也是可能不会出问题的,它还是照样在运作,定时器溢出时进入中断处理程序,如果你在这个时候喂狗了,这个狗还是乖乖的呆着,啥事也不干,而此时你的产品已经不知道跑飞到哪里去了。
来源 ,疯狂码者