STM32低功耗模式下GPIO如何配置最节能?

目录

1、将未使用的GPIO 配置为模拟输入模式

2、调节GPIO 速度

3、GPIO不使用时禁用寄存器时钟

4、避免悬空未使用的引脚


STM32低功耗模式下GPIO如何配置最节能,这里总结了一下四点,亲测有效(基于STM32L011芯片 LL库),可降低几百微安。

1、将未使用的GPIO 配置为模拟输入模式

GPIO始终有一个输入通道,可以是数字或模拟通道,如果不需要读取GPIO数据,则优先配置为模拟输入。

对 I/O 端口进行编程作为模拟配置时:

  • 输出缓冲器被关闭
  • 施密特触发器输入被禁用,因此I/O引脚的每个模拟值零消耗。施密特触发器的输出被强制为恒定值(0)。
  • 上拉和下拉电阻被硬件关闭

将不常用的GPIO配置为模拟输出,例程如下所示(LL库):

GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;

2、调节GPIO 速度

上升时间,下降时间和最大频率可使用GPIOx_OSPEEDR配置寄存器进行配置。这种调整对EMI(电磁干扰)和SSO(同时开关输出)有影响,因为开关电流峰值较高。因此必须平衡GPIO性能与噪声。通常GPIO配置为低速模式即可,但是高波特率的串口需要配置为高速模式,所以每个GPIO信号的上升时间和下降时间必须适应与相关信号频率和电路板容性负载兼容的最小值。

将不常用的GPIO配置为低速模式,例程如下所示(LL库):

 GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;

3、GPIO不使用时禁用寄存器时钟

如果某个GPIO组不需要长时间使用,请禁用其时钟。

禁用将不常用的GPIO寄存器时钟,例程如下所示(LL库):

LL_IOP_GRP1_DisableClock(LL_IOP_GRP1_PERIPH_GPIOA|LL_IOP_GRP1_PERIPH_GPIOB);

4、避免悬空未使用的引脚

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:STM32低功耗模式下GPIO如何配置最节能?

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值