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、喂狗操作实质上就是重新设置计数器值。