一端口設置
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時鍾,關閉的話並不會節省電流
