zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    EveryOne Piano
    3D扫描商店
    Substance PBR Guide
    C2GOASM
    Unity调试外部DLL
    BinaryReader优化
    IL
    如何画头发
    Bitrix24
    Mac查找包含指定字符串的文件
  • 原文地址:https://www.cnblogs.com/challenge1230/p/7132872.html
Copyright © 2011-2022 走看看