[求助] F149, 防止程序跑偏,哪里喂狗程序

4027379   2012-1-18 12:09 楼主

F149, 防止程序跑偏,哪里喂狗?

 

开看门狗这样写对不对呢?

  WDTCTL=WDT_ARST_1000 ;         //定时1s
  IE1|=WDTIE;                                     //开看门狗定时器中断

回复评论 (10)

第一句就可以了,第二句没有意义。这个产生中断之后好像就复位了吧。
点赞  2012-1-18 12:42
喂狗可以在任何地方,但要考虑程序中两次喂狗间隔的时间不能超过看门狗的定时时间。
点赞  2012-1-18 13:13

回复 楼主 4027379 的帖子

在主循环里重复WDTCTL=WDT_ARST_1000 代码就是喂狗,喂狗时间根据自己的系统情况而定
点赞  2012-1-18 22:39
引用: 原帖由 jishuaihu 于 2012-1-18 13:13 发表
喂狗可以在任何地方,但要考虑程序中两次喂狗间隔的时间不能超过看门狗的定时时间。


这个

有没有什么类似于通用的一些指导原则呢?
我也想知道

例如,我就看到过说尽量不要在中断中喂狗,因为主程序死循环的时候中断常常很可能还是能执行
点赞  2012-1-19 09:55
引用: 原帖由 wangfuchong 于 2012-1-19 09:55 发表


这个

有没有什么类似于通用的一些指导原则呢?
我也想知道

例如,我就看到过说尽量不要在中断中喂狗,因为主程序死循环的时候中断常常很可能还是能执行

个人感觉有这个可能。主循环中喂狗比较靠谱一点
点赞  2012-1-19 10:46

回复 5楼 wangfuchong 的帖子

对,尽量不要在中断中喂狗。
点赞  2012-1-21 18:34
不在中断里喂?主程序里哪里喂,一个主程序这么多分支,且每个分支也许还有延时等,要插入喂狗的地方岂不是很多?
点赞  2012-10-29 14:50
运行小的程序在主程序里喂狗,如果程序比较大建议你关狗。不然程序就总复位。
点赞  2012-10-29 17:11
第二句没有必要写
点赞  2012-10-29 17:11
如果大程序看门狗不写,万一程序跑死了,后果很严重!
点赞  2012-11-3 19:19
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复