一端口设置
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时钟,关闭的话并不会节省电流