图12.1.1 窗口看门狗工作示意图 图12.1.1 中,T[6:0]就是 WWDG_CR 的低七位,W[6:0]即是 WWDG->CFR 的低七位。T[6:0] 就是窗口看门狗的计数器,而 W[6:0]则是窗口看门狗的上窗口,下窗口值是固定的(0X40)。 当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。 上窗口值(...
配置寄存器(WWDG_CFR) 中包含窗口的上限值:要避免产生复位,递减计数器必须在其值小于窗口寄存器的数值并且大于0x3F时被重新装载。 另一个重装载计数器的方法是利用早期唤醒中断(EWI)。设置WWDG_CFR寄存器中的WEI位开启该中断。当递减计数器到达0x40时,则产生此中断,相应的中断服务程序(ISR)可以用来加载计数器以防止...
1) 当递减计数器的数值从0x40减到0x3F时(T6位跳变到0)。 2) 当喂狗的时候如果计数器的值大于W[6:0]时,此数值在WWDG_CFR寄存器定义。 上述的两个条件详细解释是,当计数器的值减到0x40时还不喂狗的话,到下一个计数就会产生复位,这个值称为窗口的下限值,是固定的值,不能改变。这个跟独立看门狗类似,不...
WWDG->CFR|=wr;//设定窗口值WWDG->CR|=WWDG_CNT;//设定计数器值WWDG->CR|=1<<7;//开启看门狗MY_NVIC_Init(2,3,WWDG_IRQn,2);//抢占 2,子优先级 3,组 2WWDG->SR=0X00;//清除提前唤醒中断标志位WWDG->CFR|=1<<9;//使能提前唤醒中断}//重设置 WWDG 计数器的值voidWWDG_Set_Counter(u8 cnt...
在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果 7 位的递减计数器数值(在控制寄存器中)被刷新, 那么也将产生一个 MCU 复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。 小总结: 1、有个7位递减计数器(WWDG->CR),就这个计数器和窗口计数器(WWDG->CFR)决定什么时候喂狗。狗喂早了,复位...
配置寄存器(WWDG_CFR)中包含窗口的上限值:要避免产生复位,递减计数器必须在其值小于窗口寄存器的数值并且大于0x3F 时被重新装载,上图描述了窗口寄存器的工作过程。 另一个重装载计数器的方法是利用早期唤醒中断(EWI)。设置WWDG_CFR 寄存器中的WEI 位开启该中断。当递减计数器到达0x40 时,则产生此中断,相应的中断服...
T[6:0] 就是 WWDG_CR 的低七位, W[6:0] 即是 WWDG->CFR 的低七位。 T[6:0]就是窗口看门狗的计数器,而 W[6:0](由用户定义) 则是窗口看门狗的上窗口,下窗口值是固定的( 0X40 )。 当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。
2.配置寄存器(WWDG_CFR) 配置寄存器描述如下图所示: 图15.1.2.2寄存器 该寄存器中的EWI位是提前唤醒中断,如果该位置1,当递减计数器等于0x40时产生提前唤醒中断,我们就可以及时喂狗以避免WWDG复位,且该中断仅在复位后由硬件清除。因此,我们一般都会用该位来设置中断,当窗口看门狗的计数器值减到0X40...
配置寄存器的低7位WWDG_CFR[6:0]也就是图中的W[6:0],用于与控制寄存器的低7 位的计数器(T[6:0])的值进行比较,WWDG_CFR[6:0]的值也就是我们说的上限值,由用户设置,不能设置为0X40,最大可以设置等于递减计数器的初始值。 T6位 就是控制寄存器的第6位,即递减计数器T[6:0]的最高位,当递减计数器...
fpclk1是时钟xhaoPCLK1的频率,4096是看门狗的固定分配系数,DIV是可设置的分配系数,由寄存器WWDG_CFR的WDGTB【1:0】位决定,DIV可取值为1、2、4、8。 7位递减计数器在T6位由1变为0时,就会出发系统复位(前提是看门狗必须是激活的,也就是控制寄存器WWDG_CR中的WDGA位是1),也就是计数器由0x40变为0x3F时,产...