色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于CW32L083評估板的簡易低功耗功能測試

CW32生態社區 ? 來源:CW32生態社區 ? 2023-08-28 14:16 ? 次閱讀

使用CW32L083的評估板完成簡易低功耗例程實驗。

功能定義如下:在正常運行模式下,LED1每1s翻轉一次。當按下KEY2按鍵時,LED1燈滅,進入低功耗模式。當再次按下KEY2后,重新回到正常的運行模式,LED1每一秒翻轉一次。通過以上方式可以測量,正常運行模式與低功耗模式的功耗。

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

查看CW32L083評估板的原理圖,KEY2按鍵對應的GPIO口為PA05口,當鍵按下時,PA05讀入為低電平。LED1指示燈對應的GPIO口為PC03,當PC03端口輸出高電平時,指示燈亮。

配置為引腳輸入,并開啟下降沿中斷,在中斷服務函數改變gKeyStatus的值,從而使得MCU在main中進入低功耗休眠模式。

主要程序代碼如下

volatile uint8_t gKeyStatus;   
volatile uint32_t gFlagWakeUpIrq = 0;  
 
int main(void) 
{
    RCC_HSI_Enable( RCC_HSIOSC_DIV6); //配置系統時鐘為HSI 8M 
    InitTick(8000000ul); //初始化SysTick 
    LED_Init();         //LED初始化 
    BSP_PB_Init();  //按鍵初始化
 
    while (1) 
    { 
       gKeyStatus = 0;//在沒有進入低功耗模式前,PC03每間隔1s翻轉一次狀態
 
       do 
       {
       PC03_TOG();         //翻轉LED1 
       SysTickDelay(1000);   //延遲1s. 
       } while (gKeyStatus == 0);      
 
       PC03_SETLOW();         //PC03置低 
       DeepSleepModeTest();    //進入深度睡眠模式 
     } 
} 
 
//按鍵初始化,設置PA05沿下降沿觸發中斷 
void BSP_PB_Init(void)
{ 
    GPIO_InitTypeDef GPIO_InitStructure = {0};
 
    //打開GPIOA時鐘 
    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);
 
    //設置GPIOA的中斷等級為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};
 
    //打開GPIO時鐘 
    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 };
 
  //打開GPIO時鐘 
  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);
 
  //關閉GPIO時鐘 
  REGBITS_CLR(CW_SYSCTRL->AHBEN,SYSCTRL_AHBEN_GPIOA_Msk|  
  SYSCTRL_AHBEN_GPIOB_Msk |  
  SYSCTRL_AHBEN_GPIOC_Msk | SYSCTRL_AHBEN_GPIOF_Msk); 
  BSP_PB_Init();             //按鍵初始化 
  // 喚醒后自動使用內部高速時鐘(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(); //進入休眠


  RCC_HSI_Enable( RCC_HSIOSC_DIV6); //配置系統時鐘為HSI 8M 
InitTick(8000000ul); //初始化SysTick 
LED_Init();         //LED初始化     
  } 
}
 
//GPIOA中斷服務函數 
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中斷標志
     } 
}

休眠配置寄存器定義如下

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

上述代碼運行時的效果:在未進入低功耗模式之前,LED1每1s翻轉一次,通過按鍵KEY2進入低功耗模式后,LED1燈滅,當再次按下KEY2后,重新回到正常的運行模式,LED1每一秒翻轉一次。通過測量可以得到,進入到低功耗模式之后,功耗顯著降低。

運行結果如下

從外界給L083開發板供3.3V電,使用常見的萬用表測試。

運行模式下LED1指示燈滅時的功耗為2.955MA。

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

運行模式下LED1指示燈亮時的功耗為3.849MA。

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

進入超低功耗模式下功耗為0.64uA。

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

這是本期測試的簡易低功耗功能測試,下期我們就用UART來控制深度休眠模式的實現。

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

    關注

    242

    文章

    23283

    瀏覽量

    661011
  • 低功耗
    +關注

    關注

    10

    文章

    2404

    瀏覽量

    103727
  • uart
    +關注

    關注

    22

    文章

    1237

    瀏覽量

    101419
  • 評估板
    +關注

    關注

    1

    文章

    544

    瀏覽量

    29327
  • CW32
    +關注

    關注

    1

    文章

    210

    瀏覽量

    655

原文標題:外部中斷喚醒實驗 ——以CW32L083VXTX評估板為實驗對象,進行低功耗測試系列實驗講解(5)

文章出處:【微信號:CW32生態社區,微信公眾號:CW32生態社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于CW32L083的線控器方案設計

    基于武漢芯源推出的CW32L083設計的空調線控器產品.
    的頭像 發表于 06-25 14:23 ?15.7w次閱讀
    基于<b class='flag-5'>CW32L083</b>的線控器方案設計

    CW32L083 RTC初始化設置

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

    基于CW32L083設計的超低功耗溫濕度計

    基于CW32L083設計的超低功耗溫濕度計,可以用電池供電,實現數年超長工作時間。
    的頭像 發表于 06-25 12:08 ?2.7w次閱讀
    基于<b class='flag-5'>CW32L083</b>設計的超<b class='flag-5'>低功耗</b>溫濕度計

    基于CW32L083的空調遙控器方案設計

    基于武漢芯源半導體推出的CW32L083而設計的的空調遙控器方案
    的頭像 發表于 06-21 16:03 ?1532次閱讀
    基于<b class='flag-5'>CW32L083</b>的空調遙控器方案設計

    移植RT-Thread nano到CW32L083

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

    CW32L083VXTX為對象進行低功耗測試系列實驗講解(4)

    CW32L083VxTx StartKit 評估為用戶提供一種經濟且靈活的方式使用 CW32L083VxTx 芯片構建系統原型,可進行性能、功耗
    的頭像 發表于 08-25 09:14 ?1295次閱讀
    以<b class='flag-5'>CW32L083</b>VXTX<b class='flag-5'>板</b>為對象進行<b class='flag-5'>低功耗</b><b class='flag-5'>測試</b>系列實驗講解(4)

    請問如何優化CW32L083微控制器的功耗

    在進行低功耗設計時,如何優化CW32L083系列微控制器的功耗
    發表于 01-17 07:16

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

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

    分享武漢芯源CW32L083VxTx_StartKit開發資料

    CW32L083VxTx StartKit 評估為用戶提供一種經濟且靈活的方式使用 CW32L083VxTx構建系統原型。特別適用于超低功耗
    發表于 06-08 10:00

    CW32L083產品介紹

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

    CW32L083微控制器數據手冊

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

    武漢芯源CW32L083開發介紹

    CW32L083VxTxStartKit評估為用戶提供一種經濟且靈活的方式使用CW32L083VxTx芯片構建系統原型,可進行性能、功耗
    的頭像 發表于 10-20 11:41 ?905次閱讀
    武漢芯源<b class='flag-5'>CW32L083</b>開發<b class='flag-5'>板</b>介紹

    CW32L083實現SHT30驅動

    CW32L083驅動SHT30,并顯示到LCD屏上。
    的頭像 發表于 06-22 09:57 ?3102次閱讀
    <b class='flag-5'>CW32L083</b>實現SHT30驅動

    CW32L083不同主頻功耗測試

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

    CW32L083如何實現AUTOTRIM時鐘校準?

    CW32L083如何實現AUTOTRIM時鐘校準?
    的頭像 發表于 11-07 17:17 ?648次閱讀
    <b class='flag-5'>CW32L083</b>如何實現AUTOTRIM時鐘校準?
    主站蜘蛛池模板: 2012中文字幕在线动漫电影| 小小水蜜桃视频高清在线播放| 欧美牲交A欧美牲交| 一二三四中文字幕在线看| 国产精品资源网站在线观看| 人善交XUANWEN200喷水| FREEXXX性乌克兰XXX| 内射白浆一区二区在线观看| 2020久久精品永久免费| 乱码中字在线观看一二区| 中文字幕在线不卡日本v二区 | 欧美精品中文字幕亚洲专区| 97国产成人精品免费视频| 毛片手机在线看| 99re这里只有精品国产| 男女床上黄色| 成人精品视频在线观看| 少妇无码吹潮久久精品AV网站| 成人免费一区二区无码视频| 乳色吐息在线观看全集免费观看 | 两百磅美女| 99久久热视频只有精品| 嫩草影院在线观看精品| NANANA在线观看高清影院| 少妇仑乱A毛片| 黑色丝袜美女被网站| 一本道色播| 蜜芽tv在线观看免费网站| 啊灬啊别停灬用力啊在线观看视频| 少妇的肉体AA片免费| 韩国hd高清xxx| 最近的2019中文字幕国语版 | japanese from色系| 撕开美女的衣服2| 狠狠综合久久综合88亚洲| 综合激情区视频一区视频二区| 欧美成人性色生活18黑人| 国产精品ⅴ视频免费观看| 亚洲无遮挡| 欧美写真视频一区| 国产亚洲精品久久久久久国模美|