stm32 独立看门狗 IWDG
独立看门狗IWDG
独立看门狗简单理解就是一个12位递减计数器,当计数器从某一个值递减到0时,系统就会产生一次复位
独立看门狗由专用低速时钟LSI驱动,其频率一般在30-60KHz之间,通常选择40KHz作为IWDG时钟
IWDG配置步骤
1.开启寄存器访问
2.设置预分频因子
3.设置重装载值
4.看门狗计数器重装载值
5.开启IWDG
举例
void IWDG_init(u8 prescaler, u16 reload)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //开启寄存器访问
IWDG_SetPrescaler(prescaler); //设置预分频因子
IWDG_SetReload(reload); //设置重装载值
IWDG_ReloadCounter(); //看门狗计数器重装载值
IWDG_Enable(); //开启IWDG
}
溢出时间计算
Tout = (4 * 2^prescaler) / 40 * reload; //kb == ms
1280 = (4 * 2^4) / 40 * 800 //1280ms