stm32f103re stop模式下降低功耗

一端口设置
1、将N.C的GPIO统一配置为GPIO_Mode_AIN;

2、检查输入引脚,按照不工作时候的状态相应配置为  IPD/IPU,即避免在内部上/下拉电阻上消耗电流,而且该电流理论值为VCC/R = 3/40 =75uA;

3、如果外部晶振不使用,必须将GPIO配置为IPU/IPD/PPLow,不允许配置为floating。

4*、加入进入STOPMODE前,不允许将PWR的CLK关闭,这部分牵涉低功耗模式,实际测试关闭能用,也能唤醒,但是电流会增加10uA+;

5、配置GPIO为输出时,根据输出的常态选择上拉/下拉,如闲置输出为0,则配置为下拉,输出闲置为1,则配置上拉;

6、另外特别说明的是->从Stopmode唤醒后,系统会自动切换到HSI,如果进入前使用的是外部晶振/PLL(PLL的clksource = HSI/HSE)因此必须调用System_Init(),对RCC重新初始化,否则唤醒后主频发生改变,会影响系统;


原文:https://blog.csdn.net/lxc1014/article/details/8494203

 

二:电流值的消耗

ADC不关闭的话会消耗800ua电流

GPIO输入端口不对会消耗75uA电流

USB端口不用的时候没有设置成 IPD/IPU  消耗800ua电流

外部中断被RTC中断 再次中断,一直有500ua电流,降不下去。

不需要关闭时钟,例如USART时钟,关闭的话并不会节省电流

posted @ 2019-06-26 15:36  大黄蜂_001  阅读(2010)  评论(0编辑  收藏  举报