有关看门狗的问题

[复制链接]
7410|9
 楼主| ljm041128 发表于 2011-6-21 15:24 | 显示全部楼层 |阅读模式
如果PIC单片机不启动看门狗。会有什莫后果!会死机吗?万一程序跑飞,能自己复位吗?
liuf 发表于 2011-6-21 15:45 | 显示全部楼层
跑飞了不能复位了
 楼主| ljm041128 发表于 2011-6-21 15:51 | 显示全部楼层
PIC 的单片机程序会跑飞吗?跑飞的的结果就是陷入了一个死循环。在自己写的程序之外,有一段死循环程序代码?是这样吗?谢谢!
yewuyi 发表于 2011-6-21 16:12 | 显示全部楼层
1、死循环和PC指针跑飞有一定相关性,但也不是等同。
PC指针跑飞后,在PIC结构中,有一些可能形成堆栈溢出而复位,有一些会导致PC指向不存在的程序区而复位,当然,如果用户程序中存在死循环,并且没有解脱方式,则也可能形成不能复位,程序死。
2、如果使用了看门狗,则在该类死循环时,如果采用了正确的喂狗方式,可以让看门狗把程序从泥坑里面拉上来,形成看门狗复位。
 楼主| ljm041128 发表于 2011-6-21 16:21 | 显示全部楼层
学习了!谢谢!看来看门狗还是要用的!程序中确实不好控制死循环的方式!不敢保证偌大的程序中没有死循环的判断!我还是赶紧把看门狗加上1顺便问问,看门狗这样启动,喂狗怎么写!
yewuyi 发表于 2011-6-21 16:23 | 显示全部楼层
学习了!谢谢!看来看门狗还是要用的!程序中确实不好控制死循环的方式!不敢保证偌大的程序中没有死循环的判断!我还是赶紧把看门狗加上1顺便问问,看门狗这样启动,喂狗怎么写! ...
ljm041128 发表于 2011-6-21 16:21


错,避免死循环完全可以实现,但响应时间可能长一点而已,此时看门狗可以在异常时快速让MCU复位。
autuy123 发表于 2011-6-23 11:24 | 显示全部楼层
有时会,有时不会
不好说
老鱼探戈 发表于 2011-6-30 10:07 | 显示全部楼层
程序结构好,完全可以避免程序跑飞而进入死循环。
至于喂狗,就是清看门狗定时器
yewuyi 发表于 2011-6-30 10:15 | 显示全部楼层
http://blog.21ic.com/user1/556/archives/2007/40895.html

内部有一些俺以前关于看门狗的论述。
毅如靳往 发表于 2011-7-4 12:26 | 显示全部楼层
看门狗在实际应用中是必须的,因为无论你软件写的再好,但是单片机本身的抗电磁干扰能力非常差,在实际产品中很容易跑飞的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

130

主题

454

帖子

0

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