看门狗的原理是,就是一个定时器,如果你在它时间走完都还没有更新他的计数器(俗称喂狗),那么他就会产生一个复位信号,让程序复位。
一般看门狗的使用方式是:
程序初始化时,使能看门狗,设置看门狗的喂狗时间。喂狗是放在程序毕竟的路上。一般是while(1)里面。
另外程序做一个循环的时间必须小于看门狗的喂狗时间。
比如你程序while1 一次就要200MS,那么你看门狗的喂狗时间设置在300MS以上比较合适。
看门狗是单片机运行稳定的机制,看门狗可以让系统强制复位,而且看门狗是一个定时器,当定时器溢出的时候看门狗会让系统复位,为了不让单片机复位,我们就让在在还没有溢出的时候喂狗,也就是重新装值,如果单片机死机或者怎样没法完成喂狗,那么单片机就复位了,这里其实看门狗和单片机的很多地方是独立的,因此系统的死机一般不影响系统的工作
纯手打,望采纳
就是根据自己的程序执行的时间来设置喂狗时间
如果程序卡死 或者超时 那么就不会有喂狗动作
这时单片机就会复位
看门狗是看门狗定时器的简称
看门狗定时器(WDT)是单片机的一个组成部分,
它实际上是一个计数器,一般给看门狗一个数字,
程序开始运行后看门狗开始倒计数。
如果程序运行正常,
过一段时间CPU应发出指令让看门狗复位,
重新开始倒计数。
如果看门狗减到0就认为程序没有正常工作,
强制整个系统复位。
本社区的视频教程中有一个讲的比较好,你可以参考一下。
看门狗实质是一个预设为重启、重置的时钟(中断),不过它有几个比较特殊的地方:
1. 它 的时钟基准比较特殊
2. 它的程序只有一个功能就是复位、重置
3. 它的计数器值可以由其它进程进行修改(即喂狗)置位为一个特定的值。