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ī)喚醒實(shí)驗(yàn)

汽車電子技術(shù) ? 來源:玩轉(zhuǎn)單片機(jī) ? 作者:Julian ? 2023-02-10 15:01 ? 次閱讀

很多單片機(jī)具有低功耗模式,默認(rèn)情況下,系統(tǒng)復(fù)位或上電復(fù)位后,微控制器進(jìn)入運(yùn)行模式。在運(yùn)行模式下,HCLK 為 CPU 提供時(shí)鐘,并執(zhí)行相應(yīng)程序。當(dāng)需要實(shí)現(xiàn)低功耗項(xiàng)目的時(shí)候,可以利用多種低功耗模式來節(jié)省功耗。

運(yùn)行模式下降低功耗方式

降低系統(tǒng)時(shí)鐘速度

不使用 APBx 和 AHB 外設(shè)時(shí),將對(duì)應(yīng)的外設(shè)時(shí)鐘關(guān)閉

STM32 提供了 3 種低功耗模式

睡眠模式( 內(nèi)核停止,外設(shè)如NVIC,系統(tǒng)時(shí)鐘Systick仍運(yùn)行。)

停止模式(所有時(shí)鐘都已停止。1.8V內(nèi)核電源工作。PLL,HIS和HSE RC振蕩器功能禁止。寄存器和SRAM內(nèi)容保留)

待機(jī)模式( 1.8V內(nèi)核電源關(guān)閉。只有備份寄存器和待機(jī)電路維持供電。寄存器和SRAM內(nèi)容全部丟失。實(shí)現(xiàn)最低功耗。)

這三種模式所需的功耗是逐級(jí)遞減,也就是說待機(jī)模式功耗是最低的,需要具體了解的同學(xué)可以去看下STM32中文參考手冊(cè)


poYBAGPl64KABt96AALuzvJbJqM605.png

STM32電源框圖

poYBAGPl65CAXflZAAHOvQGtgsA712.png

待機(jī)模式

poYBAGPl65qATFfZAAIvTMXceuE673.png

當(dāng)檢測(cè)到外部復(fù)位(NRST 引腳)、IWDG 復(fù)位、 WKUP 引腳上升沿、 RTC 鬧鐘事件的上升沿時(shí),微控制器退出待機(jī)模式。本章我們是通過 WKUP 引腳(PA0)上升沿來退出待機(jī)模式,當(dāng)然也可以直接通過芯片復(fù)位管腳 NRST 退出。

從待機(jī)模式喚醒后,除了電源控制/狀態(tài)寄存器(PWR_CSR),所有的寄存器豆

被復(fù)位,程序?qū)凑諒?fù)位(啟動(dòng)引腳采樣、復(fù)位向量已獲取等)后的方式重新執(zhí)行。電源控制/狀態(tài)寄存器(PWR_CSR)將會(huì)指示內(nèi)核由待機(jī)狀態(tài)退出。

在進(jìn)入待機(jī)模式后,除了復(fù)位引腳以及被設(shè)置為防侵入或校準(zhǔn)輸出時(shí)的TAMPER (PC13)引腳和被使能的喚醒引腳( WK_UP 腳(PA0)),其他的 IO 引腳都將處于高阻態(tài)

待機(jī)模式配置步驟

/*******************************************************************************
* 函 數(shù) 名         : Enter_Standby_Mode
* 函數(shù)功能       : 進(jìn)入待機(jī)模式
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void Enter_Standby_Mode(void)
{
    
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//使能PWR外設(shè)時(shí)鐘
  
  PWR_ClearFlag(PWR_FLAG_WU);//清除Wake-up 標(biāo)志
  
  PWR_WakeUpPinCmd(ENABLE);//使能喚醒管腳  使能或者失能喚醒管腳功能
  
  
  PWR_EnterSTANDBYMode();//進(jìn)入待機(jī)模式
}

主函數(shù)

/*******************************************************************************
* 函 數(shù) 名         : main
* 函數(shù)功能       : 主函數(shù)
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
int main()
{

  SysTick_Init(72);
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中斷優(yōu)先級(jí)分組 分2組
  LED_Init();
  USART1_Init(9600);
  
  while(1)
  {
    printf("time: 5rn");
    led1=0;
    delay_ms(1000);  //隔1秒顯示計(jì)數(shù)
    
    printf("time: 4rn");
    led1=1;
    delay_ms(1000);
    
    printf("time: 3rn");
    led1=0;
    delay_ms(1000);
    
    printf("time: 2rn");
    led1=1;
    delay_ms(1000);
    
    printf("time: 1rn");
    led1=0;
    delay_ms(1000);
    
    printf("進(jìn)入系統(tǒng)待機(jī)模式rn");
    Enter_Standby_Mode();  
  }
}

實(shí)驗(yàn)現(xiàn)象

未進(jìn)入待機(jī)模式時(shí)LED一秒閃爍一次,串口一秒打印一次數(shù)據(jù),五秒后進(jìn)入待機(jī)模式

--END--


聲明:本文內(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)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7334

    瀏覽量

    150093
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

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

    關(guān)注

    10

    文章

    2286

    瀏覽量

    103323
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于STM32待機(jī)喚醒功能

    本文我們來學(xué)習(xí)下STM32待機(jī)喚醒功能。要實(shí)現(xiàn)的功能是:系統(tǒng)運(yùn)行時(shí) D1 指示燈閃爍,5 秒后進(jìn)入待機(jī)模式,D1 指示燈熄滅,同時(shí)串口 printf輸出相關(guān)提示信息,可通過 K_UP
    發(fā)表于 07-20 17:57 ?5759次閱讀

    STM32待機(jī)喚醒的實(shí)現(xiàn)方法

    喚醒。具體程序參考原子哥的喚醒實(shí)驗(yàn)代碼。從正常運(yùn)行模式切換到待機(jī)模式:按住wkup鍵 外部中斷0中斷被觸發(fā) 執(zhí)行中斷服務(wù)函數(shù) Check_up()函數(shù)開始檢測(cè) 如果時(shí)間沒超過3s 返回
    發(fā)表于 05-26 07:00

    STM32待機(jī)喚醒實(shí)驗(yàn)分析

    STM32待機(jī)喚醒實(shí)驗(yàn)分析(基于原子哥程序)  
    發(fā)表于 02-02 07:09

    STM32實(shí)現(xiàn)待機(jī)喚醒

    STM32實(shí)現(xiàn)待機(jī)喚醒 寄存器版上篇使用了庫(kù)函數(shù)實(shí)現(xiàn) 待機(jī)喚醒本文將使用寄存器版本實(shí)現(xiàn)關(guān)機(jī)模式寄存器版本跟庫(kù)函數(shù)版本實(shí)現(xiàn)基本一致,可以通過查
    發(fā)表于 08-17 09:10

    STM32實(shí)現(xiàn)待機(jī)喚醒

    STM32實(shí)現(xiàn)待機(jī)喚醒 庫(kù)函數(shù)版很多單片機(jī)都有低功耗模式,STM32 也不例外。在系統(tǒng)或電源復(fù)位以后,微控制器處于運(yùn)行狀態(tài)。運(yùn)行狀態(tài)下的 HCLK 為 CPU 提供時(shí)鐘,內(nèi)核執(zhí)行程序代
    發(fā)表于 08-18 06:59

    記錄STM32待機(jī)模式的進(jìn)入和喚醒

    數(shù)據(jù),采集完畢進(jìn)入停止模式,定時(shí)器喚醒等待下次數(shù)據(jù)采集。(stm32f103ret6)備注:本節(jié)只記錄待機(jī)模式的進(jìn)入和喚醒,停止模式的實(shí)現(xiàn)方式見[S
    發(fā)表于 08-18 06:46

    請(qǐng)問STM32如何實(shí)現(xiàn)待機(jī)喚醒

    請(qǐng)問STM32如何實(shí)現(xiàn)待機(jī)喚醒?
    發(fā)表于 11-23 06:20

    如何對(duì)STM32單片機(jī)的待機(jī)模式進(jìn)行喚醒實(shí)驗(yàn)

    STM32單片機(jī)有哪幾種低功耗模式呢?如何對(duì)STM32單片機(jī)的待機(jī)模式進(jìn)行喚醒實(shí)驗(yàn)呢?
    發(fā)表于 11-25 06:37

    ALIENTEK_MINISTM32_實(shí)驗(yàn)12_待機(jī)喚醒實(shí)驗(yàn)

    ALIENTEK MINISTM32 實(shí)驗(yàn)12 待機(jī)喚醒實(shí)驗(yàn),很好的資料,快來下載吧
    發(fā)表于 02-19 11:36 ?6次下載

    STM32CubeMX低功耗模式——待機(jī)模式(standby)RTC喚醒

    STM32CubeMX低功耗模式——待機(jī)模式(standby)RTC喚醒使用CubeMX生成工程代碼處理實(shí)驗(yàn)結(jié)果總結(jié)在ST的單片機(jī)中,一般低功耗模式都有stop(停機(jī))模式和stand
    發(fā)表于 12-04 16:36 ?26次下載
    <b class='flag-5'>STM32</b>CubeMX低功耗模式——<b class='flag-5'>待機(jī)</b>模式(standby)RTC<b class='flag-5'>喚醒</b>

    STM32CubeMX系列|待機(jī)喚醒

    待機(jī)喚醒1. 低功耗模式簡(jiǎn)介2. 硬件設(shè)計(jì)本實(shí)驗(yàn)用D1指示燈提示系統(tǒng)正常運(yùn)行,指示燈熄滅表示進(jìn)入待機(jī)模式,K_UP按鍵用來喚醒
    發(fā)表于 12-24 19:11 ?0次下載
    <b class='flag-5'>STM32</b>CubeMX系列|<b class='flag-5'>待機(jī)</b><b class='flag-5'>喚醒</b>

    STM32 低功耗待機(jī)(STANDBY) 和關(guān)機(jī)(SHUTDOWN) 專用管腳喚醒 (EWUP)

    專用管腳喚醒的實(shí)現(xiàn)(HAL庫(kù))。2. 低功耗模式STM32L4的低功耗模式,相比其它系列的芯片,多了幾種:3. 低功耗模式STM32的專用低功耗喚醒管腳,可在
    發(fā)表于 12-31 18:59 ?37次下載
    <b class='flag-5'>STM32</b> 低功耗<b class='flag-5'>待機(jī)</b>(STANDBY) 和關(guān)機(jī)(SHUTDOWN) 專用管腳<b class='flag-5'>喚醒</b> (EWUP)

    STM32學(xué)習(xí)心得二十二:低功耗待機(jī)喚醒實(shí)驗(yàn)

    記錄一下,方便以后翻閱~主要內(nèi)容:1) STM32低功耗模式講解;2) 寄存器和庫(kù)函數(shù)配置;3) 實(shí)驗(yàn)代碼解讀。實(shí)驗(yàn)功能:針對(duì)GPIOA,引腳0,啟動(dòng)后LED0和LED1閃爍,長(zhǎng)按3秒進(jìn)入
    發(fā)表于 12-31 19:09 ?13次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)心得二十二:低功耗<b class='flag-5'>待機(jī)</b><b class='flag-5'>喚醒</b><b class='flag-5'>實(shí)驗(yàn)</b>

    基于STM32單片機(jī)待機(jī)喚醒實(shí)驗(yàn)使用庫(kù)文件設(shè)計(jì)

    基于STM32單片機(jī)待機(jī)喚醒實(shí)驗(yàn)使用庫(kù)文件設(shè)計(jì)源代碼
    發(fā)表于 04-26 14:45 ?0次下載

    STM32實(shí)例-待機(jī)喚醒實(shí)驗(yàn)

    STM32實(shí)例-待機(jī)喚醒實(shí)驗(yàn)
    的頭像 發(fā)表于 10-26 15:48 ?1622次閱讀
    <b class='flag-5'>STM32</b>實(shí)例-<b class='flag-5'>待機(jī)</b><b class='flag-5'>喚醒</b><b class='flag-5'>實(shí)驗(yàn)</b>