有哪位大虾懂单片机看门狗的工作原理的

有哪位大虾懂单片机看门狗的工作原理的,第1张

硬件看门狗

硬件看门狗是指一些集成化的专用看门狗电路,它实际上是一个特殊的定时器,当定时时间到时,发出溢出脉冲。从实现角度上看,该方式是一种软件与片外专用电路相结合的技术,硬件电路连接好以后,在程序中适当地插入一些看门狗复位的指令,即“喂狗”指令,保证程序正常运行时看门狗不溢出;而当程序运行异时,看门狗超时发出溢出脉冲,通过单片机的RESET引脚使单片机复位。

一些重要的程序,必须让它一直跑着;而且还要时时关心它的状态——不能让它出现死锁现象。当然,如果一个主程序会出现死锁,肯定是设计或者编程上的失误。我们首要做的事是,把这个Bug揪出来。但如果时间紧迫,这个Bug又“飘忽不定”,那么,我们还是先写一个软件“看门狗”,暂时应一下急吧。

“看门狗”的需求描述:“看门狗”的运行不出现界面窗口,具有一定的隐蔽性;定时判断目标进程是否运行在当前系统中,如果没有则启动目标进程;判断目标进程是否“没有响应”,如果是则终止目标进程;如果目标进程“没有响应”的次数超过一定的数量,则将计算机系统重启。

这是windows的。

如果是单片机的看门狗,实际上就是一个自动复位程序,一定时间内主程序不给这个自动复位程序发送信号的话,这个程序就使单片机自动复位。

看门狗(WDT)是一个定时器,开启看门狗定时器之后(比如定时200ms),在单片机程序中每隔一定的时间(小于200ms)要“喂狗”一次,即将看门狗定时器清零。

看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。

如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器。

比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。

扩展资料:

应用:

看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的。

一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号。

使单片机发生复位。即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

参考资料来源:百度百科-看门狗

你好,看门狗可以说就是一个计数器,当计数达到你设定的值的时候单片机会产生一次复位,是为了防止程序跑飞或者陷入死循环用的,只要你在到达设定值之前把看门狗数值清零,也就是喂狗,就不会出现复位的情况了,像你说的可以在while(1)死循环里边加上看门狗复位的语句,不过要确保单片机执行一遍while里的语句的时间不能超过看门狗的设定值,否则就要在其他地方加入看门狗复位的语句,防止看门狗超时导致单片机复位。

具体看门狗怎么设定,怎么喂狗,不同的单片机一般是不一样的,你可以查查你用的单片机的资料或者到网上查查相关的程序自己研究研究。

以上就是关于有哪位大虾懂单片机看门狗的工作原理的全部的内容,包括:有哪位大虾懂单片机看门狗的工作原理的、看门狗 程序 的原理是什么啊、单片机中的看门狗是什么东西,有什么作用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9279608.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存