0、窗口看门狗的使用
- 窗口看门狗基于CPU时钟fCPU运行,窗口看门狗实现基于一个递减计数器。
- 若fCPU运行正常,当主程序发生错误时,无法重置看门狗计数器,窗口看门狗将会产生复位标志位并重启。
- 由于窗口看门狗基于fCPU运行,当MCU进入停机模式或活跃停机模式时,窗口看门狗计数将会停止。
- 程序需在递减计数器的T6位变为0之前刷新递减计数器,防止看门狗电路产生复位信号;同时,程序需要避免在7位的递减计数器数值达到窗口寄存器数值之前刷新递减计数器,否则看门狗电路将产生复位信号。
- 窗口看门狗的递减计数器是自由运行计数器,即使未开启看门,它仍然不断地递减计数。当看起看门狗时,必须设置T6位以避免立刻产生复位
1、与窗口看门狗相关的选项字节
WWDG_HW:窗口看门狗激活方式,默认值为0。
0x4805: OPT3[1];
0x4806: NOPT3[1];
- 当WWDG_HW选项字节为0时,代表选择了软件看门狗,在系统复位后看门狗处于关闭状态。窗口看门狗需要通过设置WDGCR寄存器中的WDGA位开启窗口看门狗,此后在下次复位之前将不能关闭看门狗。
- 当WWDG_HW选项字节为1时,代表选择了硬件看门狗,看门狗将始终开启,而WDGA位将不起作用。
WWDG_HALT:当芯片进入停机模式时窗口看门狗的复位动作,默认值位0。
0x4805: OPT3[0];
0x4806: NOPT3[0];
- 当WWDG_HALT选项字节为0时,如果窗口看门狗使能,当芯片进入停机模式时不产生复位。在进入停机模式时
- 当WWDG_HALT选项字节为1时,如果窗口看门狗使能,当芯片进入停机模式时会产生复位。