STM32L4系列HAL库低功耗策略----STOP2和STANDBY

本文纯属个人笔记
STM32L4系列MCU进入低功耗前的配置需要注意如下几个方面:
(1) 连接外部中断源的引脚保持EXIT配置即可,无需额外配置
(2)连接外部设备进行数据交换的,如USART、SPI、I2C等,需要在进入休眠前更改配置为Analog,即模拟输入
(3)连接外部设备的其他引脚,则需要根据实际外设的情况置为输入、输出高或者输出低,设置时的原则为不产生压差从而不产生电流,如外设某休眠时引脚输出低,而MCU对应引脚输出高,则连接电阻则会有较大的电流
(4)所有没使用到的引脚(除debug的引脚以外)均配置为Analog,此步骤可在STM32cubemx的Project Manager中Code Generator选项卡下的HAL Settings栏内完成,如下图所示。空引脚设置为analog
(5)引脚配置完成后,需要关闭GPIO的时钟,进一步降低功耗,如图所示
关闭GPIO时钟
(6)最后直接调用HAL中已经给出的低功耗进入函数即可
(7)需要注意的是,STOP2模式可以被任意外部中断唤醒,而Shutdown和Standby只能被PA0、PC13、PE6、PA2、PC5上的中断唤醒。
(8)退出低功耗模式后,默认使用MSI作为系统时钟进行唤醒,此时需要调用SystemClock_Config()重新配置系统时钟,同时GPIO、USART、SPI、I2C等也需要重新配置恢复。
(9)特殊的,关于USART、SPI、I2C等接口的恢复,
需要将usart.c中的引脚配置单独写出来,如下图所示,如果直接调用MX_USART1_UART_Init()无法正常恢复,具体原因我还尚未分析出来
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值