导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→一只看门狗的小问题[iamsxj]

 *第9934篇: 一只看门狗的小问题

  
楼 主:iamsxj 2003年4月7日17:26
 一只看门狗的小问题
请教各位大侠,我使用了看门狗,可是我怎样才能保证出错复位后程序会走到出错的地方继续执行呢?还有其中的一些记数值也保持不变,有办法吗?望大家给个方法。
  
2楼:红心J 2003年4月7日18:12
 可能没办法
如果知道在那出错,那就不能叫出错了。
  
3楼:学习中 2003年4月7日23:23
 定期保存实时数据及程序复执起始地址
如果程序有主循环,可在每次循环后将现场数据保存在内存某处并加以校验和。当复位后判断出是看门狗动作,可校验保存的现场数据是否变动,如未变动,则可恢复现场,重新运行,当然,上次出错前的数据是无法完全恢复了,但对一些实时控制来讲,已经可以满足连续运转的要求了。
如果没有主循环,则可用定时中断处理程序保存现场数据和断点位置,当然还要包括寄存器内容。
这种方法不能保证百分之百恢复成功,实际使用中,90%以上可以恢复运行。
  
4楼:红心J 2003年4月8日08:40
 一旦出错,可能什么都错了。
能保证看门狗有效起作用就已经很有水平了。
  
5楼:Kuang-chingTsui 2003年4月8日09:04
 最好的办法:
最好的办法就是想方设法不产生看门狗复位,一旦产生了看门狗复位,就证明你的程序已经跑飞。不产生看门复位的方法只有一个:在不过多占用系统资源的前提下,随时喂狗。
  
6楼:iamsxj 2003年4月8日09:28
 我想问的就是万一跑飞了或意外重新启动了的情况。
如果我把数据存在单片机里面的ram中,重起后很难保证数据不变吧。。
  
7楼:Kuang-chingTsui 2003年4月8日09:34
 这是两个问题,
设置看门狗的目的就是防止程序跑飞。
意外重起具有随机性很难从断点处继续执行。我想你是想解决掉电断点保护问题吧。
  
8楼:iamsxj 2003年4月8日09:38
 哎,是啊,我应该先看看掉电断点保护吧,多谢了。。

>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:关于A/D转换,请大家指点

[下一篇主题]:求购8019芯片1k