日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]這里介紹的是停機(jī)模式,原因有以下亮點(diǎn):功耗以及實(shí)用性。三個(gè)模式的功耗由高到低依次是睡眠、停機(jī),最后是待機(jī),既然待機(jī)功耗最低為什么選停機(jī)模式,這是由于待機(jī)模式與停機(jī)模式都可以RTC喚醒,但是停機(jī)模式可以通過任意管腳的外部中斷喚醒,而待機(jī)模式只能通過NRST因腳傷的外部復(fù)位喚醒,局限性太大。

RTC代表的是實(shí)時(shí)時(shí)鐘的意思。因?yàn)樗峁┑臅r(shí)鐘基準(zhǔn)比較準(zhǔn)確所以用處還是很多的。本文章主要講解基于STM32F103上的RTC鬧鐘中斷功能以及用鬧鐘中斷喚醒STM32的待機(jī)模式。

這里主要說一下,本人在調(diào)試STM32低功耗功能時(shí)遇到的問題以及解決思路與大家分享一下。

在確認(rèn)使用低功耗功能后,大家鐵定會(huì)通過不同途徑查找相關(guān)的資料,了解到什么是低功耗、低功耗有哪幾種以及不同模式之間的區(qū)別,最后還有一些程序截取、說明,資料不少,但是能讓人一目了然理解的不太多,尤其是剛接觸這個(gè)功能的新手,或許是資歷尚淺,編程以及檢索資料能力還有待提高。

再此,我拋磚引玉,發(fā)表一篇我的調(diào)試感受,我從 低功耗初體驗(yàn)、低功耗功能說明、低功耗總結(jié)三個(gè)方面進(jìn)行說明。

首先,低功耗初體驗(yàn)。跟大家一樣,查到STM32的低功耗有三個(gè)模式,分別是睡眠模式、停止模式以及待機(jī)模式(STM32開發(fā)指南——庫函數(shù)版本321頁)。

這里介紹的是停機(jī)模式,原因有以下亮點(diǎn):功耗以及實(shí)用性。三個(gè)模式的功耗由高到低依次是睡眠、停機(jī),最后是待機(jī),既然待機(jī)功耗最低為什么選停機(jī)模式,這是由于待機(jī)模式與停機(jī)模式都可以RTC喚醒,但是停機(jī)模式可以通過任意管腳的外部中斷喚醒,而待機(jī)模式只能通過NRST因腳傷的外部復(fù)位喚醒,局限性太大。

第二部分,低功耗功能說明

/*RTC設(shè)置*/

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

PWR_WakeUpPinCmd(ENABLE);

PWR_BackupAccessCmd(ENABLE);

RTC_Configuration();

NVIC_Configuration();

//MCU進(jìn)入停機(jī)模式

void MCU_EnterSTOPMode(void)

{

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

/* Allow access to BKP Domain */

PWR_BackupAccessCmd(ENABLE);

RTC_WaitForLastTask();

RTC_ClearFlag(RTC_FLAG_SEC);

RTC_WaitForLastTask();

while(RTC_GetFlagStatus(RTC_FLAG_SEC) == RESET);

RTC_SetAlarm(RTC_GetCounter()+ Stop_Time);

//Stop_Time這個(gè)是喚醒時(shí)間,單位是秒,即Stop_Time秒后啟動(dòng)RTC喚醒

RTC_WaitForLastTask();

RTC_ClearFlag(RTC_FLAG_RSF);

RTC_WaitForLastTask();

RTCAlarm_IT_Enable();

RTC_WaitForLastTask();

EXTIX_Init();

EXIT_Configuration();

STOP_PeripthAndClk();

EXTI->PR = 0x00;

/* Request to enter STOP mode with regulator in low power mode*/

PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

CLI();//ÆÁ±ÎËùÓÐÖжÏ

System_timer_1ms = 0;

SYSCLKConfig_STOP();

START_PeripthAndClk();

SEI();

}

最后,低功耗總結(jié)

低功耗想要做到自己滿意的效果,需要程序與硬件配合,根據(jù)外部電路將引腳置成上拉或者下拉,減小不必要的電流損失;還有就是將開啟的外設(shè)關(guān)閉,如果忘了關(guān)閉可能會(huì)對(duì)結(jié)果有較大影響(尤其是又添加功能的時(shí)候,記得初始化的時(shí)候加上并調(diào)試成功可以使用時(shí),記得在進(jìn)入低功耗關(guān)掉)

此文獻(xiàn)給做單片機(jī)工作的同僚,希望大家在嵌入式硬件的道路上越走越遠(yuǎn),第一篇,望大家多多指導(dǎo),不喜勿噴!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉