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

2019-12-25 18:50发布

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

现在情况是这样的,主程序时间50秒左右,期间开启了定时器定时器时间是20ms ,一直是在定时器中喂狗 喂狗值是(4.625),也就是1秒,现在发现程序运行几天还会莫名其妙的死机(我猜测是主程序死了,但是定时器一直在运行所以单片机不复位),
按复位键就好另外主程序里面还有个小程序,小程序运行时间大约是1分钟,不过主程序的小程序,满足条件后才触发,一般也不触发,运行1年也就触发几次 ,
现在我想解决方法:主程序到处喂狗,直到满足不使单片机复位位置为止,
还有没有好的,喂狗方法,?定时器中断喂狗好像不行,
星期一要是没有好的解决方案,就按喂狗时间5折到处喂狗了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
38条回答
su33691
1楼-- · 2019-12-29 05:18
jssd 发表于 2017-8-12 10:07
程序思想不对,主程序大循环一定要很快轮回,也就是说各模块都不能有阻塞型的延时,延时时必须把释放CPU给 ...

状态机那个我之前听过研究研究,主要是现在这程序有点复杂,有个拨动开关上波音量+下拨音量-中间是设定音量 ,拨动最上面是声音最大,下面是音量最低, 用的播放音乐解码是用DCA硬解码wav,还有音乐更新,能添加音乐,还有RTC ,rtc可以设置时间,里面还有rtc校准,所有声音大小都按照设定时段运行,所有这个RTC准确度也很关键,还有IAP 升级程序,用的是SD卡bin升级,中断好像现在是3层嵌套了,
蜗牛蜗牛
2楼-- · 2019-12-29 07:51
这么简单的功能,用状态机很好搞定,嫌麻烦上OS
duanll
3楼-- · 2019-12-29 13:51
学习了,受用
michel888
4楼-- · 2019-12-29 14:34
。。。我怎么付费了。。。。。。。。。
michel888
5楼-- · 2019-12-29 16:40
 精彩回答 2  元偷偷看……
eiglxl
6楼-- · 2019-12-29 21:20
主程序时间50秒左右,真的是个人才!!!