精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CKS32F4xx系列低功耗模式SLEEP模式

jf_pJlTbmA9 ? 來源:中科芯MCU ? 作者:中科芯MCU ? 2023-11-06 16:59 ? 次閱讀

本課講為大家講解CKS32F4xx系列產品的低功耗模式之睡眠(Sleep)模式。MCU為滿足某些應用場景:如小型化低容量設備,長期監測設備等,低功耗應運而生,其中根據需求,用戶可以選擇睡眠模式、停止模式及待機模式,今天本課將帶大家一起配置睡眠模式。

電源系統及低功耗

首先,MCU要做到低功耗,必須要知道電源是怎么分配的,CKS32F4xx系列的電源系統框圖如下所示:

wKgaomUDwZCAISyXAAInpyUp7M8543.png

電源框圖中,第1部分是備份域電路,由VDD或Vbat電池供電,接入3V紐扣電池后,可保證VDD掉電時,能夠保留關鍵數據。

第2部分為電壓調壓器供電,由于其輸出約為1.2V,又稱1.2V域。1.2V域給除備份域和待機電路以外的所有數字電路供電,在低功耗的三種模式中,1.2V域也對應三種狀態:正常開啟、低功耗和關閉。

第3部分為A/D轉換器及參考電壓供電,故為VDDA供電區,目的是使用獨立電源能更好的濾波,從而提高精度,也可以在Vref上外接高精度電源,進一步提高進度。

所謂低功耗,即是關閉相應功耗路線,1)睡眠模式僅關閉第二部分中的內核時鐘;2)停止模式關閉所有時鐘,且調壓器可選擇正常開啟或低功耗運行;3)待機模式關閉所有時鐘以及調壓器,僅保留備份域及待機電路;

外部中斷喚醒睡眠模式驗證

接下來舉一個低功耗睡眠模式且由外部中斷喚醒的例子,睡眠模式比較簡單,直接調用編譯器內置函數__WFE()或__WFI(),取決于使用事件喚醒還是中斷喚醒;另外默認SCR(系統控制寄存器)的SLEEPDEEP位和SLEEPONEXIT位置0,效果是立即觸發睡眠,如果將SLEEPONEXIT置1可以設置成中斷退出后觸發睡眠,也就是說內核將會只在中斷內工作。

驗證流程如下圖,電源串聯萬用表電流檔,直觀比較睡眠模式開啟前后的電流大小。

wKgZomUDwZGAQFOLAAAqDbc-2EQ480.png

程序配置及中斷服務函數

1)開啟時鐘及GPIO初始化如下,按鍵直連PE10,按下為低電平。

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);
//開啟按鍵GPIO口的時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
//由于使用外部中斷需要使能SYSCFG時鐘
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//選擇按鍵PE10的引腳
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;//設置引腳為輸入模式
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;//不上拉也不下拉
GPIO_Init(GPIOE, GPIO_InitStructure);//使用上面的結構體初始化按鍵

2)總中斷NVIC初始化如下,GPIO外部中斷源一共對應7個通道,PX0~PX4分別對應EXTI0~EXTI4的5個通道,PX5~PX9對應通道EXTI_9_5,PX10~PX15 對應通道EXTI_15_10,故PE10對應中斷服務函數EXTI15_10_IRQHandler()。

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//配置NVIC為優先級組1
NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn;//按鍵PE10使用中斷源EXTI15_10
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//配置搶占優先級:1
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;//配置子優先級:1
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//使能中斷通道
NVIC_Init( NVIC_InitStructure);//使用上面的結構體初始化總中斷

3)外部中斷配置如下,主要在初始化中對中斷屏蔽寄存器EXTI_IMR及下降沿觸發選擇寄存器EXTI_FTSR配置,將EXTI_IMR的MR10位置1,可開放相應通道中斷請求。

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource10);//連接外部中斷源到PE10
EXTI_InitStructure.EXTI_Line=EXTI_Line10;//選擇EXTI中斷源
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//選擇為中斷模式
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;//下降沿觸發
EXTI_InitStructure.EXTI_LineCmd=ENABLE;//使能中斷/事件線
EXTI_Init( EXTI_InitStructure);//使用上面的結構體初始化外部中斷:EXTI_IMR的MR10位置1等

4)中斷服務函數如下,觸發后驗證標志位,確保發生的是外部線中斷;其次外部中斷線發生事件后,中斷掛起寄存器EXTI_PR會置1,通過 EXTI_ClearITPendingBit再次在PR寫入1,從而清除它,進入下一次外部中斷等待。

voidEXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line10)!=RESET)//驗證是否產生了外部線中斷
{
Delay(0x1FFFFFF);//簡單延時驗證電流
EXTI_ClearITPendingBit(EXTI_Line10);//清除標志位
}
}

主函數及現象

Main函數首先初始化GPIO、NVIC中斷、外部中斷,進入主循環后先延遲觀測電流,測得19.3mA,延遲后,__WFI()自動觸發睡眠模式,電流測得13.3mA,如果不進行按鍵操作,MCU將一直睡眠,不再執行任何代碼,此時按下輕觸開關,觸發外部中斷,電流回升至19.3mA,睡眠模式喚醒時間無延遲,執行完中斷服務程序后,會回到代碼睡眠時的句段,繼續執行。PS:如果需要設置成中斷退出后觸發睡眠模式,則將SLEEPONEXIT置1。

intmain(void)
{
EXTI_Config();//配置及初始化GPIO、NVIC中斷、外部中斷
while(1)
{
Delay(0x1FFFFFF);
//SCB->SCR|=SCB_SCR_SLEEPONEXIT_Msk;//如需設置成中斷退出后觸發睡眠模式
__WFI();//進入睡眠模式,電流從19.3mA降至13.3mA
}
}

來源:中科芯MCU

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16984

    瀏覽量

    350293
  • 轉換器
    +關注

    關注

    27

    文章

    8624

    瀏覽量

    146861
  • 低功耗
    +關注

    關注

    10

    文章

    2362

    瀏覽量

    103592
  • 電源系統
    +關注

    關注

    3

    文章

    612

    瀏覽量

    37751
收藏 人收藏

    評論

    相關推薦

    MCU微課堂|CKS32F4xx系列產品時鐘配置

    ,并且高時鐘頻率將導致功耗增加、抗電磁干擾能力變弱,因此,CKS32F4xx系列產品內部具備多個時鐘源。本文將對CKS32F4xx系列產品時
    發表于 12-12 10:17 ?808次閱讀

    CKS32F4xx系列MCU的低功耗模式之睡眠模式

    本課講為大家講解CKS32F4xx系列產品的低功耗模式之睡眠(Sleep)模式。MCU為滿足某些
    發表于 06-26 10:02 ?622次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>MCU的<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>之睡眠<b class='flag-5'>模式</b>

    CKS32F4xx系列DSP功能介紹

    CKS32F4xx系列使用高性能的32位內核,支持浮點運算單元(FPU),同時還支持DSP指令以及存儲保護(MPU)用來加強應用的安全性。
    的頭像 發表于 03-04 13:43 ?1507次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP功能介紹

    CKS32F4xx系列產品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節我們對CKS32F4xx系列的DMA進行介紹,同時利用DMA對串口數據進行傳輸。
    的頭像 發表于 04-10 11:18 ?1008次閱讀

    CKS32F4xx系列低功耗模式之STANDBY模式

    本章中,我們主要對CKS32F4xx系列的待機模式(STANDBY)做詳細介紹。在該模式下,芯片功耗最低,1.2V供電區域、PLL、HSI和
    的頭像 發表于 07-07 09:41 ?1110次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>之STANDBY<b class='flag-5'>模式</b>

    CKS32F4xx系列RNG功能設置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機數發生器簡介 ? ? CKS32F4xx系列自帶了硬件隨機數發生器(RNG),RNG處理器是一個以連續模擬噪聲為基礎的隨機數發生器,在
    的頭像 發表于 09-08 10:01 ?575次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發表于 11-06 16:56 ?817次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發表于 11-06 16:53 ?1068次閱讀

    CKS32F4xx系列ADC單通道電壓采集

    CKS32F4xx系列ADC單通道電壓采集
    的頭像 發表于 11-06 16:54 ?951次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ADC單通道電壓采集

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發表于 11-06 16:57 ?452次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>STANDBY<b class='flag-5'>模式</b>

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發表于 11-06 17:08 ?595次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>STOP<b class='flag-5'>模式</b>

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出
    的頭像 發表于 11-09 17:39 ?815次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-定時操作

    CKS32F4xx系列產品Timer的基本使用方法-定時操作
    的頭像 發表于 11-09 17:41 ?582次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-定時操作

    MCU微課堂 | CKS32F4xx系列產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品SPI通信
    的頭像 發表于 10-24 17:12 ?666次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置
    的頭像 發表于 10-24 15:14 ?744次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品GPIO口配置