看门狗实验

看门狗:起一个监督的作用的模块。

原理:建值寄存器中写入0xCCCC.降值计数器开启,从0xfff降到零就溢出,产生复位信号,若我们在建值寄存器中写入0xAAAA(喂狗),计数器重新计数。

分类:独立看门狗,时钟独立

           窗口看门狗,在窗口中喂狗

独立看门狗:Tout=((4×2^prer) ×rlr) /32;4×2^prer位分频系数(4分频,八分频,16分频之类的),rlr:重装载值

操作步骤:看门狗程序较为独立

 

 

窗口看门狗:有独立的喂狗窗口,喂狗不能过早或过晚,更加精确的起到监督作用。关于窗口,上限是在窗口寄存器中配置,下限是固定的,为0x3f。

                     当启动看门狗并且允许中断时,当减至0x40时,会产生早起唤醒中断,针对此中断,我们可以在此中断服务函数中喂狗,或者执行其他功能。

步骤:

 

 

 WWDG_SetCounter//设置计数器值(最大值)

和独立看门狗过程相似,多了设置窗口值和提前唤醒中断服务,不过多赘述。(记得在中断函数最后清除提前唤醒中断函数标志位  WWDG_ClearFlag())

 

posted @ 2023-12-22 22:26  潘守登  阅读(30)  评论(0编辑  收藏  举报