0%

STM32的看门狗

看门狗使用

独立看门狗(IWDG):通常检测硬件导致的运行出错,独立时钟运行
窗口看门狗(WWDG):通常检测软件漏洞导致的死机死循环,早喂狗晚喂狗都会复位,复位前可产生中断以便保存数据

如何喂狗

​ 正确使用看门狗定时器,但是它并不像重新载入计数器那样简单(通常被称为喂狗或者踢狗)。在其系统中运行看门狗定时器时,开发人员必须仔细选择看门狗的超时时间,以便看门狗在发生故障的系统可以执行任何不可逆转的恶意动作之前进行干预。

在简单的应用中,特别是没有使用RTOS,开发人员通常会从主循环(main loop)中提供看门狗。该方法仅需要配置适当的初始计数器值,它可以简单地选择任何超过整个主循环最坏的执行时间的值,至少有一个计时器周期。这通常是一个非常有效的方法,虽然有一些系统需要立即恢复,但更多系统只需要确保它们不会被无限期地挂起,这一方法能很好的实现之一目的。