1.void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess)
功能:使能或者失能对IWDG_PR(预分频寄存器)和IWDG_RLR(重装载寄存器)寄存器的写访问
注释:使允许访问IWDG_PR和IWDG_RLR寄存器
例如:IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
2.void IWDG_SetPrescaler(uint8_t IWDG_Prescaler)
功能:设置独立看门狗预分频计数器的值
注释:这些位具有写保护设置,写操作前需要先使能对其的访问;
要改变预分频因子,IWDG_SR寄存器的PVU位必须为0(看门狗预分频值更新完成)
例如:IWDG_SetPrescaler(IWDG_Prescaler_128);
3.void IWDG_SetReload(uint16_t Reload)
功能:设置重装载寄存器的值
注释:这些位具有写保护设置,写操作前需要先使能对其的访问;
这个参数必须是0到0x0FFF之间的数字;
只有当IWDG_SR寄存器中的RVU位为0时(看门狗计数器重装载值更新),才能对此寄存器进行修改
例如:IWDG_SetReload(0x0FFF);
4.void IWDG_ReloadCounter(void)
功能:把重装载寄存器的值放到计数器中,喂狗,防止IWDG复位
注释:喂狗操作,防止看门狗产生复位;
禁止写入IWDG_PR和IWDG_RLR寄存器
例如:IWDG_ReloadCounter();
5.void IWDG_Enable(void)
功能:启用IWDG工作
注释:若选择了硬件看门狗则不受此命令字限制;
禁用对IWDG_PR和IWDG_RLR寄存器的写访问
例如:IWDG_Enable();
6.FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG)
功能:检查指定的IWDG标志是否设置
注释:RVU: 看门狗计数器重装载值更新 (Watchdog counter reload value update);
PVU: 看门狗预分频值更新 (Watchdog prescaler value update)
例如:status = IWDG_GetFlagStatus(IWDG_FLAG_PVU);
7.void WWDG_DeInit(void)
功能:将WWDG外设寄存器重置为它们的默认值
注释:函数调用了RCC_APB1PeriphResetCmd进行寄存器复位
例如:WWDG_DeInit();
8.void WWDG_SetPrescaler(uint32_t WWDG_Prescaler)
功能:设置窗口看门狗预分频器的时基
例如:WWDG_SetPrescaler(WWDG_Prescaler_8);
9.void WWDG_SetWindowValue(uint8_t WindowValue)
功能:设置窗口看门狗的窗口值
注释:窗口值是用来与递减计数器进行比较用的
例如:WWDG_SetWindowValue(0x7F);
10.void WWDG_EnableIT(void)
功能:启用WWDG早期唤醒中断(EWI)
例如:WWDG_EnableIT();
11.void WWDG_SetCounter(uint8_t Counter)
功能:设置WWDG计数器值,看门狗的计数器值
例如:WWDG_SetCounter(0x7F);
12.void WWDG_Enable(uint8_t Counter)
功能:启用WWDG并加载计数器值
例如:WWDG_Enable(0x7F);
13.FlagStatus WWDG_GetFlagStatus(void)
功能:检查是否设置了早期唤醒中断标志
例如:status = WWDG_GetFlagStatus();
14.void WWDG_ClearFlag(void)
功能:清除早期唤醒中断标志位
例如:WWDG_ClearFlag();