|
最近在研究低功耗,整個(gè)電路板上電后一測,停止模式下整板功耗也有30ma,高的嚇人,趕緊從頭一個(gè)個(gè)加外圍電路測。發(fā)現(xiàn)大頭是ldo靜態(tài)電流過大,不過單片機(jī)本身休眠電流也不小。用萬用表測量,不是像理想中27mA跳變到14uA,會(huì)慢騰騰往下走,有時(shí)候停在130uA,有時(shí)候會(huì)經(jīng)過較長時(shí)間,穩(wěn)定在30uA,也有時(shí)候會(huì)在60uA。一天早中晚幾次上電都有差別。這個(gè)不明原因,和萬用表有關(guān)嗎?
使用的是hal庫
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI);//進(jìn)入休眠停機(jī)模式
且在cubemx里選上了Set all free pins as analog (to optimize the power consumption) //將未使用引腳設(shè)為模擬輸入
在查閱資料時(shí)候,有些疑惑:
1.有些人使用的不是hal庫+cubeMX,似乎是標(biāo)準(zhǔn)庫。他們在進(jìn)入休眠前將引腳功能全部禁用,僅保留需要的。
我是否需要這么操作?是否有相關(guān)的hal庫函數(shù)?在喚醒后除了初始化時(shí)鐘,還要把禁用的全部初始化嗎?
2.有人提出引腳上下拉會(huì)消耗電流。
所有IO管腳,如果高阻狀態(tài)端口是高電平,就設(shè)成上拉輸入,如果高阻狀態(tài)是低電平,設(shè)成下拉輸入,如果高阻是中間狀態(tài),設(shè)成模擬輸入。
我在設(shè)置時(shí)候勾選了模擬輸入,那些引腳還要額外設(shè)置嗎?在一個(gè)個(gè)加外圍電路過程中,部分引腳如果懸空未連接,設(shè)置了上下拉也會(huì)耗電嗎?
3.有提出將晶振腳和SW腳設(shè)成普通io的
這兩點(diǎn)聽著有點(diǎn)離譜,能大幅降低功耗嗎
|
|