stm32看门狗时间不够用,怎么处理

2019-12-25 18:50发布

本帖最后由 蜗牛蜗牛 于 2017-8-12 08:56 编辑

现在情况是这样的,主程序时间50秒左右,期间开启了定时器定时器时间是20ms ,一直是在定时器中喂狗 喂狗值是(4.625),也就是1秒,现在发现程序运行几天还会莫名其妙的死机(我猜测是主程序死了,但是定时器一直在运行所以单片机不复位),
按复位键就好另外主程序里面还有个小程序,小程序运行时间大约是1分钟,不过主程序的小程序,满足条件后才触发,一般也不触发,运行1年也就触发几次 ,
现在我想解决方法:主程序到处喂狗,直到满足不使单片机复位位置为止,
还有没有好的,喂狗方法,?定时器中断喂狗好像不行,
星期一要是没有好的解决方案,就按喂狗时间5折到处喂狗了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
39条回答
wctmdgcd
2019-12-30 07:33
蜗牛蜗牛 发表于 2017-8-12 08:52
主循环时间太长,最短40秒,最长时候1分40秒,所以想到用定时器,结果死机了狗也不管用 ...

直接在这段执行40秒或100秒的代码中插入清看门狗的语句不就行了嘛,你不要说在这个地方插不进去……以上是应急的方法。
估计要你重写架构也会勉为其难的,目前还是凑合着,修修补补用着吧。

一周热门 更多>