单片机看门狗的工作原理

[复制链接]
1191|25
 楼主| guoyt 发表于 2021-1-6 22:20 | 显示全部楼层 |阅读模式
有哪位大虾懂单片机看门狗的工作原理的,请教了
llia 发表于 2021-1-6 22:24 | 显示全部楼层
软件看门狗
利用单片机片内的定时器/计数器单元作为看门狗,在单片机程序中适当地插入“喂狗”指令,即适时对定时器/计数器清零;当程序运行出现异常或进入死循环时,无法及时对定时器/计数器清零,则进入中断响应程序,在中断响应程序中将程序计数器赋予初始值,即强制性地使程序重新开始运行。
wangpe 发表于 2021-1-6 22:27 | 显示全部楼层

硬件看门狗
硬件看门狗是指一些集成化的专用看门狗电路,它实际上是一个特殊的定时器,当定时时间到时,发出溢出脉冲。从实现角度上看,该方式是一种软件与片外专用电路相结合的技术,硬件电路连接好以后,在程序中适当地插入一些看门狗复位的指令,即“喂狗”指令,保证程序正常运行时看门狗不溢出;而当程序运行异时,看门狗超时发出溢出脉冲,通过单片机的RESET引脚使单片机复位。
langgq 发表于 2021-1-6 22:32 | 显示全部楼层
看门狗是抗干扰用的,但程序跑飞,它就回复位.
wangzsa 发表于 2021-1-6 22:37 | 显示全部楼层
曾经看到过有人这样形容看门狗:“看家的,谁不听话咬谁”  o(∩_∩)o...哈哈
chuxh 发表于 2021-1-6 22:40 | 显示全部楼层
它实际上是一个计数器      
renyaq 发表于 2021-1-6 22:47 | 显示全部楼层
看门狗是用来防止万一单片机程序出错造成重大损失的。  
renyaq 发表于 2021-1-6 22:50 | 显示全部楼层
开启看门狗定时器之后(比如定时200ms),在单片机程序中每隔一定的时间(小于200ms)要“喂狗”一次
liuzaiy 发表于 2021-1-6 22:53 | 显示全部楼层
如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
zyf部长 发表于 2021-1-6 22:56 | 显示全部楼层
应该看一看一款具体的外部看门狗芯片的内部结构图  
hanwe 发表于 2021-1-6 23:00 | 显示全部楼层
看门狗就是防止程序跑飞后,死机。  
morrisk 发表于 2021-1-6 23:06 | 显示全部楼层
给单片机设置看门狗电路,是为了在单片机电路死机或程序跑飞的情况下对单片机进行强制复位
happy_10 发表于 2021-1-6 23:09 | 显示全部楼层
那要看是什么类型的看门狗     
wangpe 发表于 2021-1-6 23:12 | 显示全部楼层
看门狗可以说就是一个计数器,      
supernan 发表于 2021-1-6 23:15 | 显示全部楼层
为了防止程序跑飞或者陷入死循环用的         
huangchui 发表于 2021-1-6 23:19 | 显示全部楼层
在单片机正常工作时是不需要频繁复位的,这会干扰单片机的正常工作  
kangzj 发表于 2021-1-6 23:23 | 显示全部楼层
一般给看门狗一个数字,程序开始运行后看门狗开始倒计数  
llia 发表于 2021-1-6 23:28 | 显示全部楼层
看门狗会重启程序。 跑飞的情况一个是程序写的不好,有BUG,还有就是外界干扰。  
huanghuac 发表于 2021-1-6 23:32 | 显示全部楼层
防错的原理很简单,它在硬件上就是一个定时器  
ousj 发表于 2021-1-6 23:36 | 显示全部楼层
看门狗芯片不会去统计单片机输出的脉冲数  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1018

主题

9067

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部