STM32Cube STM32L053配置GPIO达到最低功耗详解含测量实际电流值
Posted シ゛甜虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32Cube STM32L053配置GPIO达到最低功耗详解含测量实际电流值相关的知识,希望对你有一定的参考价值。
外部有上拉电阻,设置输入模式,此模式最省电
设置输入模式
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
外部有上拉电阻,设置中断模式,此模式最省电,同时还可以唤醒单片机
//设置中断模式
GPIO_InitStruct.Pin = GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
设置成输出模式,不管是推挽还是开漏,不管是上拉还是下拉都很耗电,如果输入高电平,开关导通会有超大电流
例:外部上拉电阻
电路图
1、输入模式
①输入,不上拉也不下啦,运行状态314μA,RTC 20线Wake Up唤醒下Stop模式5μA,此时如果开关导通电流达到23μA(最佳)
、
①输入,上拉,运行状态314μA,RTC 20线Wake Up唤醒下Stop模式5μA,此时如果开关导通电流达到68μA
①输入,下拉,运行状态327μA,RTC 20线Wake Up唤醒下Stop模式18μA,此时如果开关导通电流达到23μA
2、中断模式
①中断模式,不上拉也不下拉,运行状态315μA,RTC 20线Wake Up唤醒下Stop模式5μA,此时如果开关导通电流达到23μA (最佳)
①中断模式,上拉,运行状态315μA,RTC 20线Wake Up唤醒下Stop模式5μA,此时如果开关导通电流达到68μA
①中断模式,下拉,运行状态328μA,RTC 20线Wake Up唤醒下Stop模式18μA,此时如果开关导通电流达到23μA
3、推挽模式
①推挽,上拉,IO默认输出低,运行状态377μA,RTC 20线Wake Up唤醒下Stop模式69μA
②推挽,上拉,IO默认输出高,运行状态314μA,RTC 20线Wake Up唤醒下Stop模式5μA,此时如果开关导通电流达到9mA
①推挽,下拉,IO默认输出低,运行状态332μA,RTC 20线Wake Up唤醒下Stop模式23μA
②推挽,下拉,IO默认输出高,运行状态360μA,RTC 20线Wake Up唤醒下Stop模式51μA,此时如果开关导通电流达到9mA
①推挽,不上拉也不下拉,IO默认输出低,运行状态332μA,RTC 20线Wake Up唤醒下Stop模式23μA
②推挽,不上拉也不下拉,IO默认输出高,运行状态315μA,RTC 20线Wake Up唤醒下Stop模式5μA,此时如果开关导通电流达到9mA
4、开漏模式
①开漏,不上拉也不下拉,IO默认输出低,运行状态332μA,RTC 20线Wake Up唤醒下Stop模式23μA,此时如果开关导通电流达到23μA(没有变化)
②开漏,不上拉也不下拉,IO默认输出高,运行状态315μA,RTC 20线Wake Up唤醒下Stop模式5μA,此时如果开关导通电流达到23μA
以上是关于STM32Cube STM32L053配置GPIO达到最低功耗详解含测量实际电流值的主要内容,如果未能解决你的问题,请参考以下文章
STM32Cube STM32L053配置RTC WAKEUP中断唤醒
STM32Cube STM32L053配置RTC WAKEUP中断唤醒
STM32Cube STM32L053闹钟唤醒LL库和HAL库