STM32标准库低功耗

STM32标准库低功耗

1. 睡眠模式

1.1. 进入以及退出方法

睡眠模式较为简单,仅需要简单调用函数即可,且函数定义处于内核层,不需要引用多余的头文件。

  • 睡眠模式:仅内核停止,所有外设仍旧运行。

    • 调用"__WFI()"函数,退出方式为任意中断。
    • 调用"__WFE()"函数,退出方式为唤醒事件。

2. 停止模式

停止模式:时钟停止,外设停止运行。停止模式的函数定义位于"stm32f10x_pwr.h"头文件中,开启需要使用"RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);"函数打开电源管理外设PWR的时钟。

进入函数:

  • void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry)
    • PWR_Regulator:是否使用调压器。
      • PWR_Regulator_ON:开启调压器。
      • PWR_Regulator_LowPower:关闭调压器。
    • PWR_STOPEntry:停止模式唤醒方式
      • PWR_STOPEntry_WFI:任意中断唤醒。
      • PWR_STOPEntry_WFE:唤醒事件唤醒。

3. 待机模式

待机模式的进入方法较为简单,函数定义位于"stm32f10x_pwr.h"头文件中,开启需要使用"RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);"函数打开电源管理外设PWR的时钟。之后调用"PWR_EnterSTANDBYMode()"函数即可进入待机模式。

  • 待机模式:关闭所有电源,仅能通过下列事件唤醒:
    • WKUP引脚上升沿唤醒
    • RTC闹钟事件唤醒
    • NRST引脚触发复位唤醒
    • IWDG独立看门狗唤醒
posted @ 2024-03-13 20:19  T7H  阅读(27)  评论(0编辑  收藏  举报