<!doctype html>窗口看门狗
窗口看门狗
STM32F1窗口看门狗简介
窗口关门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常运行而产生的软件故障。在递减计数器(WWDG->CR)的第六位变成零时会产生一个MCU复位。在递减计数器到达窗口配置寄存器(WWDG->CFR)数值之前,如果七位递减计数器的数值被刷新,那么也会产生一个MCU复位。这表明递减计数器需要在一个窗口中被刷新。
图例
寄存器介绍
控制寄存器(WWDG_CR)
- 32位寄存器,低八位有效
- 第七位(WDGA):看门狗激活位,软件置1有效,硬件清零
- 低7位:存储看门狗计数器值,每个周期( 4096 ×2^ WDGTB)减一
- 从0x40变到0x3f时,MCU复位
配置寄存器(WWDG_CFR)
- 32位寄存器,低10位有效
- 位9(EWI):提前唤醒中断,此位置一,计数器达0x40时产生中断,硬件复位消除
- 位8:7:时基,用于修改预分频器数值
- 6:0:下窗口值
状态寄存器(WWDG_SR)
- 32位寄存器,位0有效
- 计数器到达0x40时,此位由硬件置一,由软件清零
操作流程
- 使能WWDG时钟,32khz
- 设置WWDG_CFR和WWDG_CR
- 开中断
- 写中断服务函数,一定要在一个周期内完成喂狗