找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3728|回复: 8
收起左侧

51单片机中的看门狗是干嘛的?

[复制链接]
ID:607802 发表于 2020-7-19 10:58 来自手机 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

ID:805105 发表于 2020-7-19 13:35 | 显示全部楼层
看门狗(WDT)是一个定时器。看门狗是用来防止万一单片机程序出错造成重大损失的。防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片机强制复位使程序重新开始执行。  正常的情况下是不能让它溢出的,所以在程序上每隔一段时间要给他置一次值(俗称喂狗),只要程序中正常给它喂他就不会溢出。  一旦程序跑飞了,有干扰或者进入死循环之类的情况时,不能正常执行程序了,那么就永远执行不到喂狗的指令了,但此时定时器是硬件控制的,仍然会走,所以溢出了,单片机就复位了。  一般安全性要求比较高的,系统跑飞了会造成重大事故的都会加一个“狗”保安全。  通常,看门狗的溢出时间越短越灵敏,跑飞之后复位的时间越短,也就越安全,但是,喂狗的操作也要更频繁。
回复

使用道具 举报

ID:642281 发表于 2020-7-19 14:55 | 显示全部楼层
防止程序跑飞,复位使用的
回复

使用道具 举报

ID:775776 发表于 2020-7-19 17:08 | 显示全部楼层
放置程序进入某个死循环
回复

使用道具 举报

ID:475444 发表于 2020-7-19 17:42 | 显示全部楼层
本帖最后由 就你?呸! 于 2020-7-19 17:51 编辑

你当他是程序的保镖,防止程序不够完善死机的保护机制。单片机都有这玩意
回复

使用道具 举报

ID:805376 发表于 2020-7-19 17:51 | 显示全部楼层
防止程序进入死循环或失去响应的,一般的思路是设置一个变量,用定时器的中断中不停的减1,而在主程序的正常语句中加1,如果监控到这个变量减到0了,就表示主程序有一段时间没有正确运行,可以通过语句进行异常处理。
回复

使用道具 举报

ID:420836 发表于 2020-7-20 07:25 | 显示全部楼层
硬件或软件看门狗定时器用于确保用户程序正常。
回复

使用道具 举报

ID:805675 发表于 2020-7-20 09:42 | 显示全部楼层
看门狗是为了防止程序跑飞用的,假若没跑看门狗的喂狗程序,就会执行软件复位程序,使程序复位重新开始跑。代码调试前期一般不用看门狗,中断里边也不要置看门狗。
回复

使用道具 举报

ID:29751 发表于 2020-7-20 10:47 | 显示全部楼层
防止程序跑飞,跑飞来回自动复位,以此来保证系统的稳定性
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表