RM新时代网站-首页

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

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

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

基于CW32L083評(píng)估板的簡(jiǎn)易低功耗功能測(cè)試

CW32生態(tài)社區(qū) ? 來(lái)源:CW32生態(tài)社區(qū) ? 2023-08-28 14:16 ? 次閱讀

使用CW32L083的評(píng)估板完成簡(jiǎn)易低功耗例程實(shí)驗(yàn)。

功能定義如下:在正常運(yùn)行模式下,LED1每1s翻轉(zhuǎn)一次。當(dāng)按下KEY2按鍵時(shí),LED1燈滅,進(jìn)入低功耗模式。當(dāng)再次按下KEY2后,重新回到正常的運(yùn)行模式,LED1每一秒翻轉(zhuǎn)一次。通過(guò)以上方式可以測(cè)量,正常運(yùn)行模式與低功耗模式的功耗。

0767af74-4556-11ee-a2ef-92fbcf53809c.png

查看CW32L083評(píng)估板的原理圖,KEY2按鍵對(duì)應(yīng)的GPIO口為PA05口,當(dāng)鍵按下時(shí),PA05讀入為低電平。LED1指示燈對(duì)應(yīng)的GPIO口為PC03,當(dāng)PC03端口輸出高電平時(shí),指示燈亮。

配置為引腳輸入,并開(kāi)啟下降沿中斷,在中斷服務(wù)函數(shù)改變gKeyStatus的值,從而使得MCU在main中進(jìn)入低功耗休眠模式。

主要程序代碼如下

volatile uint8_t gKeyStatus;   
volatile uint32_t gFlagWakeUpIrq = 0;  
 
int main(void) 
{
    RCC_HSI_Enable( RCC_HSIOSC_DIV6); //配置系統(tǒng)時(shí)鐘為HSI 8M 
    InitTick(8000000ul); //初始化SysTick 
    LED_Init();         //LED初始化 
    BSP_PB_Init();  //按鍵初始化
 
    while (1) 
    { 
       gKeyStatus = 0;//在沒(méi)有進(jìn)入低功耗模式前,PC03每間隔1s翻轉(zhuǎn)一次狀態(tài)
 
       do 
       {
       PC03_TOG();         //翻轉(zhuǎn)LED1 
       SysTickDelay(1000);   //延遲1s. 
       } while (gKeyStatus == 0);      
 
       PC03_SETLOW();         //PC03置低 
       DeepSleepModeTest();    //進(jìn)入深度睡眠模式 
     } 
} 
 
//按鍵初始化,設(shè)置PA05沿下降沿觸發(fā)中斷 
void BSP_PB_Init(void)
{ 
    GPIO_InitTypeDef GPIO_InitStructure = {0};
 
    //打開(kāi)GPIOA時(shí)鐘 
    REGBITS_SET(CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOA_Msk);
 
    GPIO_InitStructure.Pins = GPIO_PIN_5; 
    GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP; 
    GPIO_InitStructure.IT = GPIO_IT_FALLING; 
    GPIO_Init(CW_GPIOA, &GPIO_InitStructure); 
    GPIO_ConfigFilter(CW_GPIOA, GPIO_PIN_5, GPIO_FLTCLK_RC10K);
 
    //設(shè)置GPIOA的中斷等級(jí)為3 
    NVIC_SetPriority(GPIOA_IRQn, 0x03); 
    GPIOA_INTFLAG_CLR(GPIOx_ICR_PIN5_Msk ); 
    NVIC_EnableIRQ(GPIOA_IRQn); 
} 
 
//LED I/O初始化 
void LED_Init(void)
{ 
    GPIO_InitTypeDef GPIO_InitStructure = {0};
 
    //打開(kāi)GPIO時(shí)鐘 
    REGBITS_SET(CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOC_Msk); 
    GPIO_InitStructure.Pins = GPIO_PIN_2 | GPIO_PIN_3; 
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; 
    GPIO_Init(CW_GPIOC, &GPIO_InitStructure); 
PC03_SETLOW();
PC02_SETLOW(); 
}
  
void DeepSleepModeTest(void)
{ 
  GPIO_InitTypeDef GPIO_InitStructure = { 0 }; 
  PWR_InitTypeDef PWR_InitStructure = { 0 };
 
  //打開(kāi)GPIO時(shí)鐘 
  REGBITS_SET(CW_SYSCTRL->AHBEN,SYSCTRL_AHBEN_GPIOA_Msk| 
  SYSCTRL_AHBEN_GPIOB_Msk |  
  SYSCTRL_AHBEN_GPIOC_Msk | SYSCTRL_AHBEN_GPIOF_Msk);  
 
  GPIO_InitStructure.Mode = GPIO_MODE_ANALOG; 
  GPIO_InitStructure.IT = GPIO_IT_NONE; 
  GPIO_InitStructure.Pins = GPIO_PIN_All;
 
  GPIO_Init(CW_GPIOA, &GPIO_InitStructure); 
  GPIO_Init(CW_GPIOB, &GPIO_InitStructure); 
  GPIO_Init(CW_GPIOC, &GPIO_InitStructure); 
  GPIO_Init(CW_GPIOF, &GPIO_InitStructure);
 
  //關(guān)閉GPIO時(shí)鐘 
  REGBITS_CLR(CW_SYSCTRL->AHBEN,SYSCTRL_AHBEN_GPIOA_Msk|  
  SYSCTRL_AHBEN_GPIOB_Msk |  
  SYSCTRL_AHBEN_GPIOC_Msk | SYSCTRL_AHBEN_GPIOF_Msk); 
  BSP_PB_Init();             //按鍵初始化 
  // 喚醒后自動(dòng)使用內(nèi)部高速時(shí)鐘(HSI)
  RCC_WAKEUPCLK_Config(RCC_SYSCTRL_WAKEUPCLKEN);
 
  PWR_InitStructure.PWR_Sevonpend = PWR_Sevonpend_Disable; 
  PWR_InitStructure.PWR_SleepDeep = PWR_SleepDeep_Enable; 
  PWR_InitStructure.PWR_SleepOnExit = PWR_SleepOnExit_Disable; 
  PWR_Config(&PWR_InitStructure);
 
  PWR_GotoLpmMode(); //進(jìn)入休眠


  RCC_HSI_Enable( RCC_HSIOSC_DIV6); //配置系統(tǒng)時(shí)鐘為HSI 8M 
InitTick(8000000ul); //初始化SysTick 
LED_Init();         //LED初始化     
  } 
}
 
//GPIOA中斷服務(wù)函數(shù) 
void GPIOA_IRQHandler(void) 
{ 
 if(REGBITS_GET(CW_GPIOA->ISR, GPIOx_ISR_PIN5_Msk) > 0) 
    { 
        gKeyStatus = 1; 
        GPIOA_INTFLAG_CLR(GPIOx_ICR_PIN5_Msk);//清除CW_GPIO中斷標(biāo)志
     } 
}

休眠配置寄存器定義如下

078f5038-4556-11ee-a2ef-92fbcf53809c.png

上述代碼運(yùn)行時(shí)的效果:在未進(jìn)入低功耗模式之前,LED1每1s翻轉(zhuǎn)一次,通過(guò)按鍵KEY2進(jìn)入低功耗模式后,LED1燈滅,當(dāng)再次按下KEY2后,重新回到正常的運(yùn)行模式,LED1每一秒翻轉(zhuǎn)一次。通過(guò)測(cè)量可以得到,進(jìn)入到低功耗模式之后,功耗顯著降低。

運(yùn)行結(jié)果如下

從外界給L083開(kāi)發(fā)板供3.3V電,使用常見(jiàn)的萬(wàn)用表測(cè)試。

運(yùn)行模式下LED1指示燈滅時(shí)的功耗為2.955MA。

07bedcea-4556-11ee-a2ef-92fbcf53809c.png

運(yùn)行模式下LED1指示燈亮?xí)r的功耗為3.849MA。

08db23ae-4556-11ee-a2ef-92fbcf53809c.png

進(jìn)入超低功耗模式下功耗為0.64uA。

09351a80-4556-11ee-a2ef-92fbcf53809c.png

這是本期測(cè)試的簡(jiǎn)易低功耗功能測(cè)試,下期我們就用UART來(lái)控制深度休眠模式的實(shí)現(xiàn)。

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

    關(guān)注

    242

    文章

    23252

    瀏覽量

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

    關(guān)注

    10

    文章

    2396

    瀏覽量

    103670
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1235

    瀏覽量

    101350
  • 評(píng)估板
    +關(guān)注

    關(guān)注

    1

    文章

    537

    瀏覽量

    29304
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    203

    瀏覽量

    626

原文標(biāo)題:外部中斷喚醒實(shí)驗(yàn) ——以CW32L083VXTX評(píng)估板為實(shí)驗(yàn)對(duì)象,進(jìn)行低功耗測(cè)試系列實(shí)驗(yàn)講解(5)

文章出處:【微信號(hào):CW32生態(tài)社區(qū),微信公眾號(hào):CW32生態(tài)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于CW32L083的線控器方案設(shè)計(jì)

    基于武漢芯源推出的CW32L083設(shè)計(jì)的空調(diào)線控器產(chǎn)品.
    的頭像 發(fā)表于 06-25 14:23 ?12w次閱讀
    基于<b class='flag-5'>CW32L083</b>的線控器方案設(shè)計(jì)

    CW32L083 RTC初始化設(shè)置

    介紹CW32L083的RTC初始化設(shè)置
    的頭像 發(fā)表于 06-24 10:16 ?1530次閱讀
    <b class='flag-5'>CW32L083</b> RTC初始化設(shè)置

    基于CW32L083設(shè)計(jì)的超低功耗溫濕度計(jì)

    基于CW32L083設(shè)計(jì)的超低功耗溫濕度計(jì),可以用電池供電,實(shí)現(xiàn)數(shù)年超長(zhǎng)工作時(shí)間。
    的頭像 發(fā)表于 06-25 12:08 ?2.7w次閱讀
    基于<b class='flag-5'>CW32L083</b>設(shè)計(jì)的超<b class='flag-5'>低功耗</b>溫濕度計(jì)

    基于CW32L083的空調(diào)遙控器方案設(shè)計(jì)

    基于武漢芯源半導(dǎo)體推出的CW32L083而設(shè)計(jì)的的空調(diào)遙控器方案
    的頭像 發(fā)表于 06-21 16:03 ?1522次閱讀
    基于<b class='flag-5'>CW32L083</b>的空調(diào)遙控器方案設(shè)計(jì)

    移植RT-Thread nano到CW32L083

    移植RT-Thread Nano到CW32L083開(kāi)發(fā)上,并成功運(yùn)行。
    的頭像 發(fā)表于 07-03 09:04 ?2.2w次閱讀
    移植RT-Thread nano到<b class='flag-5'>CW32L083</b>

    CW32L083VXTX為對(duì)象進(jìn)行低功耗測(cè)試系列實(shí)驗(yàn)講解(4)

    CW32L083VxTx StartKit 評(píng)估為用戶提供一種經(jīng)濟(jì)且靈活的方式使用 CW32L083VxTx 芯片構(gòu)建系統(tǒng)原型,可進(jìn)行性能、功耗
    的頭像 發(fā)表于 08-25 09:14 ?1279次閱讀
    以<b class='flag-5'>CW32L083</b>VXTX<b class='flag-5'>板</b>為對(duì)象進(jìn)行<b class='flag-5'>低功耗</b><b class='flag-5'>測(cè)試</b>系列實(shí)驗(yàn)講解(4)

    請(qǐng)問(wèn)如何優(yōu)化CW32L083微控制器的功耗

    在進(jìn)行低功耗設(shè)計(jì)時(shí),如何優(yōu)化CW32L083系列微控制器的功耗?
    發(fā)表于 01-17 07:16

    武漢芯源Cortex-M0+ 32位低功耗MCU CW32L083系列產(chǎn)品介紹

    ,且有LCD顯示、低功耗要求的應(yīng)用場(chǎng)合,該系列目前可提供LQFP64、LQFP80、LQFP100三種封裝形式。CW32L083系列封裝展示01 CW32L083系列主要功能
    發(fā)表于 08-24 09:12

    分享武漢芯源CW32L083VxTx_StartKit開(kāi)發(fā)資料

    CW32L083VxTx StartKit 評(píng)估為用戶提供一種經(jīng)濟(jì)且靈活的方式使用 CW32L083VxTx構(gòu)建系統(tǒng)原型。特別適用于超低功耗
    發(fā)表于 06-08 10:00

    CW32L083產(chǎn)品介紹

    CW32L083是一款基于eFlash的單芯片低功耗微控制器,集成了ARM?Cortex?-M0+ 核心,主頻高達(dá)64MHz,高速嵌入式存儲(chǔ)器(高達(dá)256K字節(jié)的FLASH和 高達(dá)24K字節(jié)
    發(fā)表于 09-14 06:41

    CW32L083微控制器數(shù)據(jù)手冊(cè)

    CW32L083 是基于 eFlash 的單芯片低功耗微控制器,集成了主頻高達(dá) 64MHz 的 ARM? Cortex?-M0+ 內(nèi)核、高速嵌入式存儲(chǔ)器(多至 256K 字節(jié) FLASH 和多至
    發(fā)表于 09-14 06:27

    武漢芯源CW32L083開(kāi)發(fā)介紹

    CW32L083VxTxStartKit評(píng)估為用戶提供一種經(jīng)濟(jì)且靈活的方式使用CW32L083VxTx芯片構(gòu)建系統(tǒng)原型,可進(jìn)行性能、功耗
    的頭像 發(fā)表于 10-20 11:41 ?876次閱讀
    武漢芯源<b class='flag-5'>CW32L083</b>開(kāi)發(fā)<b class='flag-5'>板</b>介紹

    CW32L083實(shí)現(xiàn)SHT30驅(qū)動(dòng)

    CW32L083驅(qū)動(dòng)SHT30,并顯示到LCD屏上。
    的頭像 發(fā)表于 06-22 09:57 ?3070次閱讀
    <b class='flag-5'>CW32L083</b>實(shí)現(xiàn)SHT30驅(qū)動(dòng)

    CW32L083不同主頻功耗測(cè)試

    頻率固定為48MHz,頻率精度低于HSE時(shí)鐘。RC振蕩器輸出時(shí)鐘的頻率受芯片加工過(guò)程、工作電壓、環(huán)境溫度等因素影響,CW32L083提供了HSIOSC時(shí)鐘頻率校準(zhǔn)
    的頭像 發(fā)表于 06-27 16:21 ?762次閱讀
    <b class='flag-5'>CW32L083</b>不同主頻<b class='flag-5'>功耗</b><b class='flag-5'>測(cè)試</b>

    CW32L083如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?

    CW32L083如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?
    的頭像 發(fā)表于 11-07 17:17 ?635次閱讀
    <b class='flag-5'>CW32L083</b>如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?
    RM新时代网站-首页