1. /* iwdg.c */
    2. //初始化独立看门狗
    3. //prer:分频数:IWDG_PRESCALER_4~IWDG_PRESCALER_256
    4. //rlr:自动重装载值,0~0XFFF.
    5. //时间计算(大概):Tout=((4*2^prer)*rlr)/32 (ms).
    6. void IWDG_Init(u8 prer,u16 rlr)
    7. {
    8. IWDG_Handler.Instance = IWDG;
    9. IWDG_Handler.Init.Prescaler = prer; //设置IWDG分频系数
    10. IWDG_Handler.Init.Reload = rlr; //重装载值
    11. HAL_IWDG_Init(&IWDG_Handler); //初始化IWDG,默认会开启独立看门狗
    12. }
    13. //喂独立看门狗
    14. void IWDG_Feed(void)
    15. {
    16. HAL_IWDG_Refresh(&IWDG_Handler); //喂狗
    17. }
    1. /* iwdg.h */
    2. void IWDG_Init(u8 prer,u16 rlr);//初始化IWDG,并使能IWDG
    3. void IWDG_Feed(void);//喂狗