STM32低功耗引脚设置
STM32低功耗引脚设置
更多
在STM32的低功耗模式下,正确配置GPIO引脚是降低功耗的关键。以下是分步指南:
1. 选择低功耗模式
根据需求选择模式:
- 睡眠模式:CPU暂停,外设保持运行。
- 停止模式:CPU和时钟停止,GPIO状态保留。
- 待机模式:最低功耗,大部分电路断电,唤醒后系统复位。
2. GPIO通用配置原则
-
未使用的引脚:
- 设置为模拟输入模式(关闭数字输入缓冲,减少漏电)。
- 关闭内部上拉/下拉电阻(通过
GPIO_PuPd配置)。 - 注意:部分型号(如L4系列)需额外禁用施密特触发器(通过
GPIOx_ASCR寄存器)。
-
使用中的引脚:
- 输出模式:设置为推挽输出,并输出与外部电路匹配的电平(如外部上拉则输出低电平)。
- 输入模式:使能内部上拉/下拉,避免浮空输入导致漏电流。
- 降低GPIO速度(设为最低速,如
GPIO_SPEED_FREQ_LOW)。
3. 不同低功耗模式下的配置
停止模式
- 保留GPIO状态:确保所有引脚输出电平与外部电路兼容。
- 唤醒源配置:
- 使用外部中断(EXTI)唤醒时,配置GPIO为输入模式,并使能中断。
- 使用RTC唤醒时,相关GPIO(如RTC_AF1)需保持正确配置。
待机模式
- GPIO复位:唤醒后GPIO恢复复位状态(需在代码中重新初始化)。
- 仅保留特定引脚:如VBAT域的引脚(RTC、备份寄存器等)。
4. 代码示例(HAL库)
// 进入停止模式前配置GPIO
void Enter_Stop_Mode(void) {
// 配置所有未使用引脚为模拟输入
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
// 示例:配置PA0~PA15为模拟输入
for (int i = 0; i < 16; i++) {
GPIO_InitStruct.Pin = 1 << i;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
// 配置唤醒引脚(如PA0,EXTI0)
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLDOWN; // 根据硬件设计选择
GPIO_InitStruct.Pin = GPIO_PIN_0;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_NVIC_EnableIRQ(EXTI0_IRQn);
// 进入停止模式
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
}
5. 关键注意事项
- 关闭外设时钟:在进入低功耗前,禁用非必要外设的时钟(如
__HAL_RCC_GPIOA_CLK_DISABLE())。 - VBAT域引脚:若使用RTC或备份寄存器,确保相关GPIO(如PC13~PC15)配置正确。
- 唤醒后恢复时钟:从停止模式唤醒后,需重新配置系统时钟(尤其是HSI/HSE)。
6. 调试建议
- 测量电流:使用万用表验证功耗是否降至预期范围(如待机模式通常<1μA)。
- 检查浮空引脚:确保所有未使用引脚未处于浮空输入状态。
通过以上步骤,可显著降低STM32在低功耗模式下的静态电流。实际配置需根据具体型号和硬件设计调整,建议参考对应型号的《参考手册》和《应用笔记》。
STM32与FreeRTOS实现低功耗
记录在开发过程中,遇到这样一个产品,它基于 Cortex-M7 内核的 STM32F769 芯片,同时使用了 FreeRTOS 实时操作系统。由于该产品使用电池供电,因此有着低功耗的需求。接下来
资料下载
生龙活虎3
2021-12-07 20:06:27
STM32,CubeMX,低功耗模式:RTC唤醒
关于低功耗模式,一般来说,要达到节能的效果,一般只用STOP模式和STANDBY模式。但是,进入低功耗模式和唤醒有些需要注意的事项,如下:一、配置相关(STOP与STANDBY
资料下载
佚名
2021-12-07 20:06:22
STM32的低功耗模式
STM32的低功耗模式共有三个:睡眠模式-(sleep): 睡眠模式的功耗是mA级别,一般在实际应用中较少使用停止模式-(stop): 停止模式
2021-08-12 08:15:43
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机