STM32F030看门狗

STM32F030的看门狗分独立看门狗和窗口看门狗。

独立看门狗

使用独立的LSI时钟,因此一旦开启就无法停止,除非复位。所以当使用stop模式时,就需要定时唤醒喂狗。

独立看门狗配置代码如下:

    if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
    {
        RCC_ClearFlag();
    }
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
    IWDG_SetPrescaler(IWDG_Prescaler_128);
    IWDG_SetReload(LsiFreq / 128);                //1s
    IWDG_ReloadCounter();
    IWDG_Enable();

窗口看门狗

使用PCLK1时钟。睡眠模式下,时钟停止。看门狗也停止计数。但喂狗有严格的时间限制,必须在规定的某段时间内喂狗。喂早和喂迟了都会导致系统复位。

窗口看门狗配置代码如下:

    if (RCC_GetFlagStatus(RCC_FLAG_WWDGRST) != RESET)
    {
        RCC_ClearFlag();
    }
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);
    WWDG_SetPrescaler(WWDG_Prescaler_8);
    //refresh window is: ~683 * (127-98)= 19.8ms < refresh window < ~683 * 64 = 43.7ms
    WWDG_SetWindowValue(98);        
    WWDG_Enable(127);
    bsp_StartAutoTimer(TMR_WWDG,TMR_PERIOD_30MS);

 

转载于:https://www.cnblogs.com/challenge1230/p/7132872.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值