抛砖引玉,MCU清看门狗问题探讨!
我现在的做法是设置一系列超时变量 timout1 ~timoutn
在每个中断和工作的关键条件和步骤里放一个对应变量清零的语句。
主循环对每个变量加一,判断是不是所有超时 变量均不超过某个数值则清看门狗,任何一个变量超值则不清看门狗,复位。
大家都是怎么做的,这样做有没有什么问题?欢迎大家批评指正!谢谢大家! 没人有兴趣,还是发错了板块 一般简单的就是在主程序循环喂狗,你这个用法有点意思
这样似乎就没必要用看门狗了吧,,任何一个变量超值则直接SystemReset()复位芯片不就好了! 另外是清watch dog不應該在interrupt routine中,因為mcu程序跑亂了,中斷還是會產生和執行。 一般达到一定的值就清一次说明程序还是周期在运行 你这样做有点像是在用看门狗来校验你的程序的逻辑 如果程序在某一段程序区里死循环,这段代码还有喂狗,看门狗是不会起作用的。 现在好点的watchdog还有时区判断,提前喂都不行。 窗口看门狗能完成现在的功能! 最简单的就是无阻塞的框架,然后轮训部分看门狗喂
页:
[1]