0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解STM32低功耗模式

單片機(jī)與嵌入式 ? 來源:?jiǎn)纹瑱C(jī)與嵌入式 ? 2023-11-08 12:18 ? 次閱讀

低功耗模式

本文討論下STM32低功耗模式,先看如下手冊(cè)。

b8df6020-7dec-11ee-939d-92fbcf53809c.png

對(duì)比了 STM32F0 和 STM32F1 兩者進(jìn)入低功耗是一樣的,低功耗模式有三種:

睡眠模式,CM3 內(nèi)核停止,外設(shè)仍然運(yùn)行,此功耗是最高的

停止模式,所有時(shí)鐘都停止,此功耗較低,典型大概在20uA左右

待機(jī)模式,1.8V 內(nèi)核電源關(guān)閉,此功耗最低,典型大概在2uA左右

一般做開發(fā)大多都是選擇停機(jī)模式,因?yàn)橥C(jī)模式功耗較低,而且任一中斷或事件都能喚醒。待機(jī)模式雖然功耗最低,電流只差10個(gè)微安,但是只有特定的事件和引腳可以喚醒,實(shí)時(shí)性不是很好。

先來看下官方庫進(jìn)入低功耗的方式。

void PWR_EnterSleepMode(uint8_t PWR_SLEEPEntry); //睡眠模式 
void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);  //停機(jī)模式
void PWR_EnterSTANDBYMode(void);    //待機(jī)模式

這里我們用到停機(jī)模式,有兩個(gè)參數(shù) 。
第一個(gè)PWR_Regulator是選擇電源是否進(jìn)入低功耗。

#definePWR_Regulator_ON//電源不進(jìn)低功耗喚醒基本沒延遲
#define PWR_Regulator_LowPower         //電源進(jìn)去低功耗 不過喚醒啟動(dòng)有一點(diǎn)延遲

第二個(gè)參數(shù)PWR_STOPEntry選擇喚醒的方式。

#define PWR_STOPEntry_WFI              //中斷喚醒
#define PWR_STOPEntry_WFE              //事件喚醒

停機(jī)模式喚醒后自動(dòng)選擇系統(tǒng)內(nèi)部時(shí)鐘,看自己的應(yīng)用是否需要重新配置。如果你的系統(tǒng)時(shí)鐘是HSI或者HSE是要重新配置,一般都需要重新配置,直接調(diào)用系統(tǒng)時(shí)鐘配置函數(shù)。
另外停機(jī)模式喚醒后,flash程序是從中斷或事件開始執(zhí)行的。

如何做到停機(jī)模式更低功耗

代碼

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);  //使能時(shí)鐘 
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

上面代碼第一個(gè)參數(shù)PWR_Regulator_LowPower是配置電源低功耗模式。第二個(gè)參數(shù)PWR_STOPEntry_WFI用來確定是中斷喚醒還是事件喚醒,或者兩者都要。

第二步你要把所有引腳IO口釋放,全部配置成模擬輸入狀態(tài),此時(shí)IO口幾乎0消耗,具體見手冊(cè)說明。

b8fc33e4-7dec-11ee-939d-92fbcf53809c.png

我們只要在進(jìn)入低功耗之前把IO口配置一下就行了(根據(jù)自己應(yīng)用需要配置IO),但是喚醒之后就要重新配置IO口了。

注意,在配置IO模擬輸入之前,一定不要鎖定IO口。我之前就踩了這個(gè)坑,在配置成模擬輸入之前我們串口兩個(gè)引腳鎖定了導(dǎo)致我的功耗一直在90uA左右下不去。

正確配置的功耗在10uA左右,這功耗已經(jīng)相當(dāng)?shù)土耍盟墓?jié)5號(hào)電池夠你用至少1年了。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40289
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    355981
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1733

    瀏覽量

    131479
  • 低功耗
    +關(guān)注

    關(guān)注

    10

    文章

    2403

    瀏覽量

    103699

原文標(biāo)題:STM32低功耗模式

文章出處:【微信號(hào):?jiǎn)纹瑱C(jī)與嵌入式,微信公眾號(hào):?jiǎn)纹瑱C(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32L053C8 MCU上的低功耗模式詳解

    知道可用的低功耗模式,如何配置它們以及最適合哪些任務(wù)。本文概述了STM32L053C8 MCU上的低功耗模式。但是,由于該系列的
    的頭像 發(fā)表于 11-09 15:23 ?1.5w次閱讀

    STM32低功耗模式

    STM32低功耗模式1.睡眠模式2.停止模式3.待機(jī)模式各種
    發(fā)表于 08-11 07:35

    STM32低功耗模式

    STM32低功耗模式共有三個(gè):睡眠模式-(sleep): 睡眠模式功耗是mA級(jí)別,一般在實(shí)際
    發(fā)表于 08-12 08:15

    STM32低功耗模式

    很多單片機(jī)都有低功耗模式,STM32 也不例外。當(dāng) CPU 不需繼續(xù)運(yùn)行時(shí),可以利用多個(gè)低功耗模式來節(jié)省
    發(fā)表于 08-20 07:55

    基于STM32單片機(jī)低功耗模式機(jī)制詳細(xì)解析

    本文主要解讀STM32低功耗模式的機(jī)制,并不側(cè)重STM32低功耗的程序?qū)崿F(xiàn),而且借助STM32
    發(fā)表于 10-24 16:16 ?1.9w次閱讀
    基于<b class='flag-5'>STM32</b>單片機(jī)<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>機(jī)制詳細(xì)解析

    探究STM32低功耗的幾種模式

    低功耗模式 本文討論下STM32低功耗模式,先看如下手冊(cè)。 對(duì)比了 STM32F0 和
    的頭像 發(fā)表于 07-26 17:49 ?1.1w次閱讀
    探究<b class='flag-5'>STM32</b><b class='flag-5'>低功耗</b>的幾種<b class='flag-5'>模式</b>

    stm32低功耗模式

    前言在做很多產(chǎn)品的時(shí)候,功耗是必須要考慮的一項(xiàng)因素,一定程度上決定了你的產(chǎn)品是否有競(jìng)爭(zhēng)力,降低功耗可以從硬件上和軟件上進(jìn)行處理,而軟件上進(jìn)入低功耗模式是降
    發(fā)表于 12-07 15:51 ?12次下載
    三 <b class='flag-5'>stm32</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>

    STM32低功耗模式之待機(jī)模式

    上周完成了一個(gè)小項(xiàng)目,項(xiàng)目涉及到stm32低功耗的待機(jī)模式,特在此記錄下32的待機(jī)模式。 芯片:STM32f030F4 庫:HAL庫
    發(fā)表于 12-07 16:21 ?8次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>之待機(jī)<b class='flag-5'>模式</b>

    PWR-低功耗模式-STM32F4

    使用芯片===>STM32F429IGT6(制作不易,希望大佬能給個(gè)贊支持下小丁)目錄1、低功耗模式簡(jiǎn)介很多單片機(jī)有低功耗模式
    發(fā)表于 12-28 19:25 ?9次下載
    PWR-<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>-<b class='flag-5'>STM32</b>F4

    STM32低功耗模式的調(diào)試

    低功耗模式的調(diào)試型號(hào):STM32L452RET6規(guī)格:64PINSTM32支持3種低功耗模式:1
    發(fā)表于 12-31 19:01 ?2次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>的調(diào)試

    STM32低功耗模式測(cè)試

    stm32單片機(jī)低功耗模式共用3中,下來對(duì)3中低功耗進(jìn)行分析測(cè)試。先看手冊(cè)上相關(guān)低功耗資料介紹:先來分析睡眠
    發(fā)表于 12-31 19:05 ?10次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>測(cè)試

    STM32 低功耗STOP模式,RTC喚醒

    芯片:STM32L071CB開發(fā)環(huán)境:STM32CubeMX + keil5.33使用實(shí)時(shí)時(shí)鐘RTC的 WakeUpTimer定時(shí)器產(chǎn)生的中斷將STM32從STOP低功耗
    發(fā)表于 12-31 19:06 ?45次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>STOP<b class='flag-5'>模式</b>,RTC喚醒

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化1. 介紹STM32具有多種低功耗
    發(fā)表于 12-31 19:08 ?36次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>低功耗</b>睡眠<b class='flag-5'>模式</b>(SLEEP)事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化

    AN2629 STM32F1低功耗模式

    AN2629 STM32F1低功耗模式
    發(fā)表于 11-24 08:30 ?0次下載
    AN2629 <b class='flag-5'>STM32</b>F1<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>

    STM32速成筆記(13)—低功耗模式

    STM32提供了一些低功耗模式。默認(rèn)情況下,系統(tǒng)復(fù)位或上電復(fù)位后,微控制器進(jìn)入運(yùn)行模式
    的頭像 發(fā)表于 10-24 15:39 ?2167次閱讀
    <b class='flag-5'>STM32</b>速成筆記(13)—<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>