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
posted @ 2017-08-11 18:10  thomas_blog  阅读(189)  评论(0编辑  收藏  举报