窗口看门狗通常用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障,会在满足一定条件的情况下 进行复位动作
产生复位的条件 ① 当递减计数器的值小于0x40(若看门狗被启动)则产生复位动作。
②当递减计数器的值大于W[6:0]时 产生复位动作
如图所示:
复位条件①的原理图:
WDGA置1 T6在未到0x40时置1 在到达0x40时置0 经过非门 与门后 复位键置1 达到复位的目的
复位条件②的原理图:
寄存器(WWDG_CFR)储存的是 W[6:0]的值 寄存器(WWDG_CR)储存的是T[6:0]的值 经过比较 当T[6:0]>W[6:0]时 置1 经过与门 后复位置1 达到最终目的。
WWDG的寄存器
配置寄存器 用于设置 预分频器2
状态寄存器:用于查看计数器的值是否达到40h
窗口看门狗 (WWDG)溢出时间计算公式
(可超时的时间范围是T[5:0]:在0X40-W[6:0]之间)
Twwdg=(4096×2^WDGTB×(T[5:0]+1)) /RCC_PCLK3;
加黑部分是计1个数的时间 (有两个分频数 一个是4096 另外一个是位于指数位置的WDGTB)
(T[5:0]+1) 为你想要计数的个数 RCC_PCLK3默认36M
最小超时数 就是计数值为1 最大超时数 计数值为127(0111 1111B)-63(3FH) =64 所以最多计数64