Watchdog
重置应该在嵌入式代码中使用中断服务程序吗?
在主循环中,还是在中断服务部分?
答案 0 :(得分:0)
这取决于您的架构和要求。
通常,看门狗定时器是一种硬件,它是微控制器或处理器的一部分,通过具有超时值的软件配置。如果处理器挂起或某些死锁条件满足,并且它没有在为看门狗配置的超时值内恢复,则处理器将被重置。因此,看门狗定时器硬件将与处理器复位信号相关联。您还可以通过在复位向量中具有相应的调试日志/断点来进行检查,以便进行看门狗复位。
另外,请注意,在某些架构中,看门狗定时器可能有一个单独的中断向量,因此可能有一个单独的wdt /特殊向量,它只执行选择性的复位级别而不是完全复位硬件。
因此,WDT的使用取决于架构和要求。
在某些架构中,WDT在后台可能具有低优先级。如果你不能在后台运行,那么你可能需要明确触发某些意外情况,除了其他前面提到的场景,如死锁/挂起。因此,从main运行作为单独的线程/ isr /调用取决于您的体系结构和要求。