标题: 51单片机中的看门狗是干嘛的? [打印本页]

作者: 555555222    时间: 2020-7-19 10:58
标题: 51单片机中的看门狗是干嘛的?
如题
作者: 透心凉丶    时间: 2020-7-19 13:35
看门狗(WDT)是一个定时器。看门狗是用来防止万一单片机程序出错造成重大损失的。防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片机强制复位使程序重新开始执行。  正常的情况下是不能让它溢出的,所以在程序上每隔一段时间要给他置一次值(俗称喂狗),只要程序中正常给它喂他就不会溢出。  一旦程序跑飞了,有干扰或者进入死循环之类的情况时,不能正常执行程序了,那么就永远执行不到喂狗的指令了,但此时定时器是硬件控制的,仍然会走,所以溢出了,单片机就复位了。  一般安全性要求比较高的,系统跑飞了会造成重大事故的都会加一个“狗”保安全。  通常,看门狗的溢出时间越短越灵敏,跑飞之后复位的时间越短,也就越安全,但是,喂狗的操作也要更频繁。
作者: 15951917887    时间: 2020-7-19 14:55
防止程序跑飞,复位使用的
作者: wangyuejia2015    时间: 2020-7-19 17:08
放置程序进入某个死循环
作者: 就你****    时间: 2020-7-19 17:42
本帖最后由 就你?呸! 于 2020-7-19 17:51 编辑

你当他是程序的保镖,防止程序不够完善死机的保护机制。单片机都有这玩意
作者: disorder    时间: 2020-7-19 17:51
防止程序进入死循环或失去响应的,一般的思路是设置一个变量,用定时器的中断中不停的减1,而在主程序的正常语句中加1,如果监控到这个变量减到0了,就表示主程序有一段时间没有正确运行,可以通过语句进行异常处理。
作者: TTQ001    时间: 2020-7-20 07:25
硬件或软件看门狗定时器用于确保用户程序正常。
作者: jldz1234    时间: 2020-7-20 09:42
看门狗是为了防止程序跑飞用的,假若没跑看门狗的喂狗程序,就会执行软件复位程序,使程序复位重新开始跑。代码调试前期一般不用看门狗,中断里边也不要置看门狗。
作者: zhangyucheng    时间: 2020-7-20 10:47
防止程序跑飞,跑飞来回自动复位,以此来保证系统的稳定性




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1