STM32F030C8T6低功耗筆記

2022-03-27 11:57:02 字數 998 閱讀 9713

2023年5月8日

這個晶元的低功耗搞了好久了,剛開始是7ma降不下去,然後是降到了1ma,到現在的200ua,還是有地方沒有弄好,目標是降到50ua左右,目前遇到了問題,進入stop模式的時候降到了110ua,然後會慢慢回公升80ua。

這裡先寫一下之前的一些總結。

首先進入的是stop模式,因為這個模式功耗已經很低了,而且這個時候可以任意外部中斷喚醒。

進入中斷的方式。

rcc_apb1periphclockcmd(rcc_apb1periph_pwr, enable); //使能電源時鐘

pwr_enterstopmode(pwr_regulator_lowpower,pwr_stopentry_wfi);// 進入stop模式

在這之前要關閉外部模組或者使外部模組進入低功耗模式,配置一些io為下拉輸入模式。

然後應該是到了1ma,準確的應該是980ua,這個時候又去查資料,看到一句關閉adc。我試了加入

adc_cmd(adc1,disable);    // 這個一定要關閉影響很大 我的板子上降低了800ua

果然很明顯,一下到了110ua。

這個時候,還是有個問題一直出現【電流回公升】就是到了110ua後,會慢慢回公升到180ua,然後左右幾ua的變動。

2023年5月9日

下午的時候再次懷疑了一下硬體,把74hc245的空閒引腳接地,你猜怎麼了,一下子降到112ua穩定了。雖然112ua還是不夠低,但是解決了那個電流回公升的奇怪問題。

2023年5月10日

112ua降低到60ua,是外部硬體74hc595的oe一直是使能的,或許這是一直工作的待機功耗,一共有16個595呢,我直接斷開595的電源vcc降了下來。準備下一版電路板把595的oe接到mcu來控制。

60ua降低到30ua,依然是adc搞的鬼,用adc_deinit(adc1);替代adc_cmd(adc1,disable);

2023年6月4日

乙個1n5822也會耗掉5ua的電流,還有的電容出了問題會增加幾十ua甚至幾毫安的電流。

stm32f030c8t6 MCU進入低功耗模式

1.sleep 模式 2.stop 模式,在這個模式下,io管腳保持run狀態下的電平,ram保持不變,所以在進入這個狀態之前,先先將io口配置好,否則可能會有漏電流 3,standby模式下,ram不保持,io管腳進入高阻態,啟用就於系統reset rcc apb1periphclockcmd r...

STM32F030C8T6串列埠接收不定長資料

usart.c檔案 include usart.h include gpio.h uart handletypedef huart1 usart1 init function void mx usart1 uart init void hal uart enable it huart1,uart i...

STM32F103C8T6 內部 FLASH讀寫

u16 people id 50 假設公司最多50人 u16 people clock t 50 每個人簽到次數 u16 people num 2 人數 define debug define flash size 64 所選mcu的flash容量大小 單位為k if flash size 256 ...