chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

CKS32F4xx系列低功耗模式STOP模式

jf_pJlTbmA9 ? 來源:中科芯MCU ? 作者:中科芯MCU ? 2023-11-06 17:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在本章節(jié)中,首先向大家介紹電源系統(tǒng)結(jié)構(gòu),接著簡(jiǎn)述三種低功耗模式,最后重點(diǎn)介紹CKS32F4xx系列如何進(jìn)入STOP模式以及使用按鍵實(shí)現(xiàn)中斷喚醒。

CKS32F4xx電源系統(tǒng)介紹

wKgaomUDxAqAWADiAAFEKvLWiVg971.png

CKS32F4xx系列的電源系統(tǒng)框圖

CKS32F4xx系列的器件工作電壓(VDD)為1.8~3.6V。

①備份域電路:包含LSE振蕩器、RTC、備份寄存器及備份SRAM。電源開關(guān)自動(dòng)切換VDD和VBAT供電。

②調(diào)壓器電路(1.2V域):為備份域及待機(jī)電路外的所有數(shù)字電路供電,其中包括內(nèi)核、數(shù)字外設(shè)及RAM。

ADC電路和參考電壓:ADC工作電源使用VDDA引腳輸入,使用VSSA作為獨(dú)立的地連接,VREF引腳則為ADC提供測(cè)量使用的參考電壓。

低功耗模式簡(jiǎn)介

CKS32F4xx系列按功耗由高到低排列,分別是運(yùn)行、睡眠、停止(STOP)和待機(jī)(STANDBY)四種工作模式。上電復(fù)位后,CKS32F4xx系列會(huì)處于正常運(yùn)行狀態(tài),當(dāng)不需要繼續(xù)運(yùn)行內(nèi)核時(shí),就可以選擇進(jìn)入后面的三種低功耗模式降低功耗。這三種模式中,電源消耗不同、喚醒時(shí)間不同、喚醒源不同,用戶需要根據(jù)應(yīng)用需求,選擇最佳的低功耗模式。其中,最低功耗的是待機(jī)模式,停機(jī)模式(STOP)是次低功耗的,最后是睡眠模式。低功耗相關(guān)寄存器主要有SCB_SCR、PWR_CR、PWR_CSR,進(jìn)入各種低功耗需要調(diào)用的指令有WFI或WFE,以下做簡(jiǎn)要介紹。

1.SCB_SCR(系統(tǒng)控制寄存器)

wKgaomUDxAyAW2s-AAA4ylwKEnM241.png

wKgZomUDxA6AdYMcAACy_ijj-xE440.jpg

若進(jìn)入停止模式or待機(jī)模式,需將SLEEPDEEP置1。

2.PWR_CR(電源控制寄存器)

wKgZomUDxA-AITDZAAOMYUqQ5vE359.png

若進(jìn)入停止模式,需將PDDS清0,LPDS選調(diào)節(jié)器模式;若進(jìn)入待機(jī)模式,需將PDDS置1,清除喚醒位CWUF。

3.PWR_CSR(電源控制/狀態(tài)寄存器)

wKgaomUDxBGAR8w-AAOSoIyhhew142.png

若芯片處于待機(jī)模式下,需使用使用WKUP引腳喚醒并需要清除WUF標(biāo)記位。

注:WKUP上升沿才能喚醒待機(jī)狀態(tài),清除WUF標(biāo)記位實(shí)則需操作CWUF位。

4.WFI與WFE指令

實(shí)質(zhì)上都是內(nèi)核指令,在庫(kù)文件core_cmInstr.h中把這些指令封裝成了函數(shù),調(diào)用它們都能進(jìn)入低功耗模式。調(diào)用時(shí),需要使用函數(shù)的格式“__WFI();”和“__WFE();”,這是因?yàn)開_w?及__wfe是編譯器內(nèi)置的函數(shù),函數(shù)內(nèi)部使用調(diào)用了相應(yīng)的匯編指令。其中WFI指令決定了它需要用中斷喚醒,而WFE則決定了它可用事件來喚醒。

以下表格是對(duì)三種低功耗模式的簡(jiǎn)要概述。

wKgaomUDxBKAU9eeAAEk7zuEscM308.jpg

本章中,我們主要對(duì)CKS32F4xx系列的低功耗模式—停止模式(STOP)做詳細(xì)介紹。該模式中,由于其1.2V區(qū)域的部分電源沒有關(guān)閉,會(huì)保留內(nèi)核的寄存器、內(nèi)存的信息,所以從STOP模式喚醒,并重新開啟時(shí)鐘后,還可以從上次停止處繼續(xù)執(zhí)行代碼。停止模式可以由任意一個(gè)外部中斷(EXTI)喚醒。在停止模式中可以選擇電壓調(diào)節(jié)器為開模式或低功耗模式,可選擇內(nèi)部FLASH工作在正常模式或掉電模式。那我們?nèi)绾芜M(jìn)入STOP模式,可以按照下述表格中的步驟執(zhí)行即可:

wKgaomUDxBOAUMUFAAIct7PHd98353.jpg

CKS32F4xx系列標(biāo)準(zhǔn)庫(kù)把進(jìn)入STOP模式這部分的操作封裝到PWR_EnterSTOPMode函數(shù)中了,并且需要注意的是進(jìn)入STOP模式后,CKS32F4xx系列的所有IO都保持在停止前的狀態(tài),且當(dāng)它被喚醒時(shí),CKS32F4xx系列使用HSI作為系統(tǒng)時(shí)鐘運(yùn)行,由于系統(tǒng)時(shí)鐘會(huì)影響很多外設(shè)的工作狀態(tài),所以一般我們?cè)趩拘押髸?huì)重新開啟HSE,把系統(tǒng)時(shí)鐘設(shè)置為原來的狀態(tài)。上面表格也提到在停止模式中,還可以控制FLASH的供電,使用庫(kù)函數(shù)PWR_FlashPowerDownCmd配置進(jìn)入掉電狀態(tài)還是正常供電狀態(tài),本質(zhì)上是封裝了一個(gè)對(duì)FPDS寄存器位操作的語句,使用時(shí)需要再進(jìn)入停止模式前被調(diào)用,可以進(jìn)一步降低功耗。

采用EXTI喚醒STOP模式實(shí)驗(yàn)

程序設(shè)計(jì)主要要點(diǎn)如下:

①初始化用于喚醒的中斷按鍵;

②配置不用的I/O端口

③設(shè)置停滯狀態(tài)是FLASH掉電以及選擇電壓調(diào)節(jié)器的工作模式并進(jìn)入停止?fàn)顟B(tài);

④使用按鍵中斷喚醒芯片;

⑤重啟HSE時(shí)鐘,使系統(tǒng)完全恢復(fù)停止之前的狀態(tài)。

1)初始化用于喚醒的中斷按鍵

此處選擇連接PB1引腳的按鍵用于將芯片從STOP模式喚醒,代碼如下:

voidCKS_EXTI_Init(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
EXTI_InitTypeDefEXTI_InitStructure;
NVIC_InitTypeDefNVIC_InitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);

/*ConfigurePB1asEXTI*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(GPIOB, GPIO_InitStructure);

/*ConfigurePB1toEXTIline1*/
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB,EXTI_PinSource1);

/*EXTIconfiguration*/
EXTI_InitStructure.EXTI_Line=EXTI_Line1;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init( EXTI_InitStructure);

/*NVICconfiguration*/
NVIC_InitStructure.NVIC_IRQChannel=EXTI1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init( NVIC_InitStructure);
}

在CKS_EXTI_Init函數(shù)中,首先使能GPIOB時(shí)鐘,又因?yàn)橛玫酵獠恐袛?,所以必須先使能SYSCFG時(shí)鐘,接著對(duì)GPIOB初始化為上拉輸入,并調(diào)用函數(shù) SYSCFG_EXTILineConfig配置GPIOB.1連接到中斷線1,最后初始化EXTI中斷線以及NVIC中斷優(yōu)先級(jí)。

voidEXTI1_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line1)!=RESET)
{
EXTI_ClearITPendingBit(EXTI_Line1);
}
}

在中斷服務(wù)函數(shù)EXTI1_IRQHandler內(nèi),主要是清除LINE1上的中斷標(biāo)志位。

2)配置未使用的I/O口

進(jìn)入STOP模式之前,需要對(duì)I/O進(jìn)行處理,若不處理很多配置為輸入浮空的I/O口在受到外界干擾的時(shí)候,狀態(tài)不定,消耗大量的電流,代碼如下:

voidCKS_Stop_Mode_IO_Set(void)
{
/*setpinsnotusedtoAIN*/
GPIO_InitTypeDefGPIO_InitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOH,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOI,ENABLE);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;

GPIO_Init(GPIOA, GPIO_InitStructure);
GPIO_Init(GPIOC, GPIO_InitStructure);
GPIO_Init(GPIOD, GPIO_InitStructure);
GPIO_Init(GPIOF, GPIO_InitStructure);
GPIO_Init(GPIOG, GPIO_InitStructure);
GPIO_Init(GPIOH, GPIO_InitStructure);
GPIO_Init(GPIOI, GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin=(~GPIO_Pin_1);
GPIO_Init(GPIOB, GPIO_InitStructure);
}

由上述代碼可知,我們將沒用到的I/O全部設(shè)置為模擬輸入,保留PB1作為按鍵,產(chǎn)生外部中斷來將芯片從STOP模式喚醒。

3)芯片進(jìn)入STOP模式

該部分代碼一般是程序執(zhí)行一段時(shí)間再調(diào)用,我們先使用PWR_FlashPowerDownCmd配置停止模式下FLASH使用掉電模式,隨后調(diào)用PWR_EnterSTOPMode把調(diào)壓器設(shè)置在低功耗模式,最后使用WFI指令進(jìn)入停止?fàn)顟B(tài)。由上文可知,WFI進(jìn)入停止模式可由任意的EXTI的中斷喚醒,所以此處使用按鍵中斷喚醒是可行的,代碼如下:

voidCKS_Set_Stop_Mode(void)
{
PWR_FlashPowerDownCmd(ENABLE);
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
}

4)主函數(shù)配置

本例程中主函數(shù)主要對(duì)上文所述函數(shù)調(diào)用,程序編譯下載至開發(fā)板,先進(jìn)行相關(guān)外設(shè)初始化后,直接進(jìn)入STOP模式,此時(shí)按下按鍵,芯片可立即被喚醒,隨即又進(jìn)入STOP模式,循環(huán)往復(fù),主函數(shù)代碼如下:

intmain(void)
{
GPIO_Configuration();
CKS_EXTI_Init();
CKS_Stop_Mode_IO_Set();
while(1)
{
CKS_Stop_Mode_IO_Set();
CKS_Set_Stop_Mode();
SystemInit();
Delay(0xffffff);
}
}

來源:中科芯MCU

審核編輯:湯梓紅
聲明:本文內(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18392

    瀏覽量

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

    關(guān)注

    12

    文章

    2933

    瀏覽量

    105908
  • 電源系統(tǒng)
    +關(guān)注

    關(guān)注

    3

    文章

    719

    瀏覽量

    39122
  • STOP模式
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    3268
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MCU微課堂|CKS32F4xx系列產(chǎn)品時(shí)鐘配置

    ,并且高時(shí)鐘頻率將導(dǎo)致功耗增加、抗電磁干擾能力變?nèi)?,因此?b class='flag-5'>CKS32F4xx系列產(chǎn)品內(nèi)部具備多個(gè)時(shí)鐘源。本文將對(duì)CKS32F4xx系列產(chǎn)品時(shí)
    發(fā)表于 12-12 10:17 ?1145次閱讀

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

    本課講為大家講解CKS32F4xx系列產(chǎn)品的低功耗模式之睡眠(Sleep)模式。MCU為滿足某些應(yīng)用場(chǎng)景:如小型化低容量設(shè)備,長(zhǎng)期監(jiān)測(cè)設(shè)備等
    發(fā)表于 06-26 10:02 ?863次閱讀
    <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位內(nèi)核,支持浮點(diǎn)運(yùn)算單元(FPU),同時(shí)還支持DSP指令以及存儲(chǔ)保護(hù)(MPU)用來加強(qiáng)應(yīng)用的安全性。
    的頭像 發(fā)表于 03-04 13:43 ?2522次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP功能介紹

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個(gè)串口都支持DMA傳輸。因此本節(jié)我們對(duì)CKS32F4xx系列的DMA進(jìn)行介紹,同時(shí)利用DMA對(duì)串口數(shù)據(jù)進(jìn)行傳輸。
    的頭像 發(fā)表于 04-10 11:18 ?1669次閱讀

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

    本章中,我們主要對(duì)CKS32F4xx系列的待機(jī)模式(STANDBY)做詳細(xì)介紹。在該模式下,芯片功耗最低,1.2V供電區(qū)域、PLL、HSI和
    的頭像 發(fā)表于 07-07 09:41 ?1794次閱讀
    <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功能設(shè)置

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

    CKS32F4xx系列DAC功能

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

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

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

    CKS32F4xx系列ADC單通道電壓采集

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

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發(fā)表于 11-06 16:57 ?968次閱讀
    <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系列低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式SLEEP模式
    的頭像 發(fā)表于 11-06 16:59 ?1220次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>SLEEP<b class='flag-5'>模式</b>

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出

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

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作
    的頭像 發(fā)表于 11-09 17:41 ?1018次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用方法-定時(shí)操作

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

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

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置

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