找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3717|回复: 8
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:607802 发表于 2020-7-19 10:58 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

使用道具 举报

板凳
ID:642281 发表于 2020-7-19 14:55 | 只看该作者
防止程序跑飞,复位使用的
回复

使用道具 举报

地板
ID:775776 发表于 2020-7-19 17:08 | 只看该作者
放置程序进入某个死循环
回复

使用道具 举报

5#
ID:475444 发表于 2020-7-19 17:42 | 只看该作者
本帖最后由 就你?呸! 于 2020-7-19 17:51 编辑

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

使用道具 举报

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

使用道具 举报

7#
ID:420836 发表于 2020-7-20 07:25 | 只看该作者
硬件或软件看门狗定时器用于确保用户程序正常。
回复

使用道具 举报

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

使用道具 举报

9#
ID:29751 发表于 2020-7-20 10:47 | 只看该作者
防止程序跑飞,跑飞来回自动复位,以此来保证系统的稳定性
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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