看门狗:起一个监督的作用的模块。
原理:建值寄存器中写入0xCCCC.降值计数器开启,从0xfff降到零就溢出,产生复位信号,若我们在建值寄存器中写入0xAAAA(喂狗),计数器重新计数。
分类:独立看门狗,时钟独立
窗口看门狗,在窗口中喂狗
独立看门狗:Tout=((4×2^prer) ×rlr) /32;4×2^prer位分频系数(4分频,八分频,16分频之类的),rlr:重装载值
操作步骤:看门狗程序较为独立
窗口看门狗:有独立的喂狗窗口,喂狗不能过早或过晚,更加精确的起到监督作用。关于窗口,上限是在窗口寄存器中配置,下限是固定的,为0x3f。
当启动看门狗并且允许中断时,当减至0x40时,会产生早起唤醒中断,针对此中断,我们可以在此中断服务函数中喂狗,或者执行其他功能。
步骤:
WWDG_SetCounter//设置计数器值(最大值)
和独立看门狗过程相似,多了设置窗口值和提前唤醒中断服务,不过多赘述。(记得在中断函数最后清除提前唤醒中断函数标志位 WWDG_ClearFlag())
标签:分频,窗口,中断,独立,看门狗,喂狗,实验 From: https://www.cnblogs.com/panshoudeng/p/17922477.html