独立看门狗和窗口看门狗
在单片机系统当中,可能存在会受到外接的电磁波的干扰,导致程序跑飞,陷入死循环的状态当中。因此,出于这种考虑,设计一种用于检测单片机状态的模块,也就是看门狗。
看门狗可以分为独立看门狗和窗口看门狗。独立看门狗由专用的低速时钟(LSI)驱动,适用于独立于主程序之外的,对时间精度比较低的场合。窗口看门狗由内部APB1时钟分频产生,适用于时间精度比较高的场合。
独立看门狗工作流程:
窗口看门狗工作流程:
两种情况产生中断:
1.在T6>w0:6的时候喂狗,产生复位
2.当T6从0x40递减到0x3f是会复位
启动了看门狗并且允许中断的话,当计数器从0X40递减到0X3F时,会产生早期唤醒中断(EWI),主要是用于喂狗防止复位。
配置窗口看门狗流程
1.使能看门狗时钟
2.设置预分频系数
3.设置上窗口值
4.开启提前开启中断(0X40)/选择中断分组
5.使能看门狗
6.喂狗
7.配置中断服务函数
配置独立看门狗流程
1.打开写保护
2.设置预分频系数和自动重装载的值
3.使能独立看门狗
4.喂狗函数