STM32低功耗模式

一、低功耗模式介绍

STM32 的低功耗模式有 3 种:

1)睡眠模式(CM3 内核停止,外设仍然运行)

2)停止模式(所有时钟都停止)

3)待机模式(1.8V 内核电源关闭)

在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要 2uA 左右的电

流。停机模式是次低功耗的,其典型的电流消耗在 20uA 左右。最后就是睡眠模式了。

二、待机模式

待机模式可实现 STM32的最低功耗。该模式是在 CM3 深睡眠模式时关闭电压调节器。整个 1.8V 供电区域被断电。PLL、HSI 和 HSE 振荡器也被断电。SRAM 和寄存器内容丢失。仅备份的寄存器和待机电路维持供电。

从待机模式唤醒后的代码执行等同于复位后的执行(采样启动模式引脚,读取复位向量等)。电源控制/状态寄存器(PWR_CSR)将会指示内核由待机状态退出。在进入待机模式后,除了复位引脚以及被设置为防侵入或校准输出时的 TAMPER 引脚和被使能的唤醒引脚(WK_UP 脚),其他的 IO 引脚都将处于高阻态。

三、代码实现

将PA0配置位外部中断

将PA0配置位上升沿触发

cpp 复制代码
// 系统进入待机模式
static void PWR_Enter_Standby(void)
{
	__HAL_RCC_PWR_CLK_ENABLE(); // 使能 PWR 时钟
	__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); // 清除 Wake_UP 标志
	HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); // 设置 WKUP 用于唤醒
	HAL_PWR_EnterSTANDBYMode(); // 进入待机模式
}

然后MCU进入待机模式之后按下WKUP按钮,此时产生一个上升沿,然后退出待机模式。

相关推荐
蓝斯49725 分钟前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
熙芯XiChip1 小时前
硬实时与软实时RTOS核心区别
嵌入式硬件
伟大的前程1 小时前
unsigned int 定义的变量 在 电脑的 64 位系统中 和 32 位 cortex-m0 和 8 位的 51 单片机
单片机·嵌入式硬件
小渔村的拉线工2 小时前
1.HPM6E80 解析芯片整体工作原理和存储架构
单片机·嵌入式硬件·mcu·架构·hpm6e80
熙芯XiChip2 小时前
CAN与CANopen的本质区别
单片机
lilihewo3 小时前
Altium Designer 封装库的创建(分享pcb 3D封装库)
嵌入式硬件·51单片机
神罚天下ET4 小时前
典型arm位单片机启动流程(从上电到main.c)
c语言·arm开发·单片机
碧海银沙音频科技研究院5 小时前
蓝牙耳机使用WSDF5361锂保芯片进入船运模式实现方法
嵌入式硬件·算法
Zevalin爱灰灰5 小时前
模拟信号链电路——基于TL431的电压基准电路
单片机·嵌入式硬件
csdn杰哥6 小时前
瑞萨单片机开发教程[二十七] DTC 外部中断触发传输实验
单片机·嵌入式硬件·mongodb·瑞萨·ra6m5