Stm32WDG(watchdog)看门狗
- WDG简介
1作用:看门狗监控程序的运行状态,当程序运行故障时,看门狗可以复位程序。
2工作:看门狗是定时器,在指定的时间中,如果程序没有进行喂狗(重置定时器),看门狗硬件会产生复位信号。
- STM32中的看门狗
1独立看门狗iwdg:独立工作,只有最晚喂狗最晚时间,时间精度低。
2窗口看门狗wwdg:有最早和最晚喂狗时间要求,只要不在规定范围内喂狗就会复位,时间精度高。
- IWDG

工作流程和定时器基本相同,时钟信号经过预分频器后控制递减计数器的递减,当减到0时发出复位中断信号;喂狗:键寄存器发出固定信号将重装载数值填入递减计数器中,从而使得不会产生复位。喂狗时间由软件决定。
键寄存器:为了降低受到干扰的概率,使用特定值才可以控制寄存器,而不是像之前的寄存器,每一位控制一个寄存器。

- WWDG

6位递减计数器(T5~T0)递减到0后,T6标志位被置0,发出复位信号。WDGA为1使能窗口看门狗。配置寄存器中写入的是窗口值。喂狗发生时比较:计数器 > 窗口值,"过早喂狗" 违规;计数器 <窗口值 且> 0x40,有效喂狗时段。当计数器为0,但T6为1,触发早期唤醒中断(EWI);T6为0,过晚喂狗" 违规。
在触发EWI后可以进行一些紧急操作。或者也可以直接喂狗。

- 使用
如果独立看门狗被启动,LSI将被强制打开并配置给独立看门狗。