stm32f103窗口看门狗-2020-10-06

1、窗口看门狗的计数器是7位递减的。

2、下窗口值为0x40,上窗口值为自定义。

3、只有在上下窗口值之间这段时间之内进行喂狗才不会导致复位,在此区间之外都会导致复位。

4、CR寄存器的WDGA位为看门狗的使能位,由软件置一以后激活看门狗,这里需要注意的是激活以后只能由硬件复位后才能被清零。

5、CFR寄存器的EWI位为提前唤醒中断位,提供了一个提前唤醒中断处理函数,针对下窗口值0x40,在该中断函数中添加喂狗操作,那么当递减计数器减至0x40就会进入该中断中执行喂狗进而避免了复位,有时候,人们无法得知计数器已经减至下限值0x40了,该位起的效果就相当于隔离带作用。

6、如果不想通过中断的办法,而是想要查询的办法,可以借助SR寄存器的位0来实现,因为当递减至0x40时,该位会被硬件置一而无论中断是否被使能,都需要由软件写0来清除。

7、窗口看门狗的使能位和计数器值的设置都在CR寄存器上,所以可以通过一个函数void WWDG_Enable(uint8_t Counter)一次性完成。

8、计数器值的位数为7位,所以最大值为0x7F。

9、喂狗操作实质上就是重新设置计数器值。

posted @ 2020-10-06 17:38  migui  阅读(262)  评论(0编辑  收藏  举报