独立看门狗比窗口看门狗应该简单多了,这也是我之前用过的看门狗功能。这个只要在规定的时间内能够喂狗就不会出现复位。

         使用CubeIDE生成这个驱动真是太简单了,过程略去。只需要自己周期性调用喂狗函数即可。我实现的接口如下;

#include "iwdg_lld.h"

extern IWDG_HandleTypeDef hiwdg;

void iwdg_lld_step(void)
{
HAL_IWDG_Refresh(&hiwdg);
}

         先测试一下不喂狗的情况:

153_STM32F407独立看门狗_github

         输出内容不再更新,软件出现了复位。接下来测试一下喂狗的情况,直接在1ms中喂狗。

153_STM32F407独立看门狗_github_02

         喂狗之后不再出现复位。