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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>