娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年03月29日(星期六)

2019年03月29日 | Stm32待機模式的進入與喚醒

發布者:時光如夢 來源: eefocus關鍵字:Stm32  待機模式  進入與喚醒 手機看文章 掃描二維碼
隨時隨地手機看文章

1.基礎介紹

1-1:單片機的“低功耗模式”,像是手機的待機模式,不同于正常運行模式,處于一種省電省資源的狀態


1-2:在運行情況下,HCLK為cpu提供時鐘,cortex-m3內核執行程序的代碼,如果處于中斷事件的等待時,可以進入低功耗模式用來節省資源等


1-3:STM32一共有著3個低功耗模式


(1)睡眠模式(cm3內核停止,外設時鐘等依舊運行)


(2)停止模式(所有的時鐘)


(3)待機模式(1.8V內核電源關閉)


1-4:具體介紹(引自正點原子參考手冊)



2.配置方式

2-1:進入待機模式函數


配置時鐘+設置喚醒源+待機模式設置


void Sys_Standby(void)

{  

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //使能PWR外設時鐘

PWR_WakeUpPinCmd(ENABLE);  //使能喚醒管腳功能,在WkUp的上升沿進行

PWR_EnterSTANDBYMode();   //進入待機(STANDBY)模式 設置相應的進入條件(已經封裝成了完整的函數)  

}

一般而言,進入待機模式的函數已經封裝成了具體的函數,拆開來看:


1.清除Wk_up位


2.設置PWR_CR位使得CPU進入深度睡眠時又進入待機模式


3.設置PDDS位CPU設置深度睡眠模式時進入待機模式


4.__WFI指令


 


void PWR_EnterSTANDBYMode(void)

{

  /* Clear Wake-up flag */

  PWR->CR |= PWR_CR_CWUF;

  /* Select STANDBY mode */

  PWR->CR |= PWR_CR_PDDS;

  /* Set SLEEPDEEP bit of Cortex System Control Register */

  SCB->SCR |= SCB_SCR_SLEEPDEEP;

/* This option is used to ensure that store operations are completed */

#if defined ( __CC_ARM   )

  __force_stores();

#endif

  /* Request Wait For Interrupt */

  __WFI();

}

4.以Wkup上升沿為喚醒條件,設置中斷配置函數


oid EXTI0_IRQHandler(void)

{                   

EXTI_ClearITPendingBit(EXTI_Line0); // 清除LINE10上的中斷標志位   

if(Check_WKUP())//關機?

{   

Sys_Enter_Standby();  

}

5.代碼:實現按鈕3s開機,按鈕3s關機,就像手機的開關機一樣


#include "wkup.h"

#include "led.h"

#include "delay.h"

//待機模式

//1.設置時鐘

//2.設置喚醒條件

//3.設置進入條件

void Sys_Standby(void)

{  

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //使能PWR外設時鐘

PWR_WakeUpPinCmd(ENABLE);  //使能喚醒管腳功能,在WkUp的上升沿進行

PWR_EnterSTANDBYMode();   //進入待機(STANDBY)模式 設置相應的進入條件(已經封裝成了完整的函數)  

}

//系統進入待機模式

//1.復位所有的io

//2.待機模式設置

void Sys_Enter_Standby(void)

{  

RCC_APB2PeriphResetCmd(0x01fc,DISABLE);//復位

Sys_Standby();//啟動待機模式

}

//檢測WKUP腳的信號

//返回值1:連續按下3s以上

//      0:錯誤的觸發,進入待機模式

u8 Check_WKUP(void) 

{

u8 t=0; //記錄按下的時間

LED0=0; //亮燈DS0 

while(1)

{

if(WKUP_KD)//判斷按下的時間

{

t++; //已經按下了 

delay_ms(30);

if(t>=100) //按下超過3秒鐘

{

LED0=0; //點亮DS0 

return 1; //按下3s以上了

}

}else 

LED0=1;

return 0; //按下不足3秒

}

}

}  

//中斷,檢測到PA0腳的一個上升沿.   

//中斷線0線上的中斷檢測

 

 

void EXTI0_IRQHandler(void)

{                   

EXTI_ClearITPendingBit(EXTI_Line0); // 清除LINE10上的中斷標志位   

if(Check_WKUP())//關機?

{   

Sys_Enter_Standby();  

}

//PA0 WKUP喚醒初始化

void WKUP_Init(void)

{

    GPIO_InitTypeDef  GPIO_InitStructure;    

NVIC_InitTypeDef NVIC_InitStructure;

EXTI_InitTypeDef EXTI_InitStructure;

 

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);//使能GPIOA和復用功能時鐘

 

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0; //PA.0

GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPD;//上拉輸入

GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化IO

    //使用外部中斷方式

GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); //中斷線0連接GPIOA.0

 

    EXTI_InitStructure.EXTI_Line = EXTI_Line0; //設置按鍵所有的外部線路

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //設外外部中斷模式:EXTI線路為中斷請求

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  //上升沿觸發

    EXTI_InitStructure.EXTI_LineCmd = ENABLE;

EXTI_Init(&EXTI_InitStructure); // 初始化外部中斷

 

NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; //使能按鍵所在的外部中斷通道

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; //先占優先級2級

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; //從優先級2級

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中斷通道

NVIC_Init(&NVIC_InitStructure); //根據NVIC_InitStruct中指定的參數初始化外設NVIC寄存器

 

if(Check_WKUP()==0) Sys_Standby();    //不是開機,進入待機模式  

}


關鍵字:Stm32  待機模式  進入與喚醒 引用地址:Stm32待機模式的進入與喚醒

上一篇:STM32 RTC與待機模式
下一篇:USART從低功耗模式喚醒STM32F0

推薦閱讀

隨著時代發展,智能水表替代部分傳統機械水表,得到廣泛應用。而智能水表的計量方式也隨著電子技術的發展越來越多樣化,如機械表頭檢測、超聲波檢測、有磁檢測等方式相繼問世。但這些方式存在明顯局限性:容易受外界電磁干擾或者因為永磁體對水中雜質的累計吸附,造成計量誤差或被人為利用、漏計及不計。在這種情況下,無磁計量水表以其計量精度高、無磁性...
在展示跑步、后空翻等系列操作之后,波士頓動力公司(Boston Dynamics)近日又推出全新機器人——2017年Handle機器人的“reimagined”(再定義)版本,而且它真的非常擅長疊箱子。正如視頻中所看到的新版Handle可以在倉庫中使用吸盤自動裝載和卸載裝有產品的盒子,并且使用輪子可以輕松的在倉庫中運輸。在技術方面,波士頓動力公司表示,Handle可以裝卸高...
PIC燒寫程序用的是官方提供的環境-MPLAB IDE v8.70:步驟:1,打開MPLAB IDE v8.70,導入HEX文件固件,如下圖:2.選擇對應的芯片型號,如下圖所示:3、選擇芯片的配置位,如果是代碼里有配置,就把勾勾上,如下圖:4、選擇燒錄器工具,如下圖所示:5、設置燒寫相關的設置,如下圖所示:6、點擊連接,如下圖所示:出現連接不上ICD 3,之前切換MPLAB X ...
據外媒報道,日前,特斯拉獲得了“使用視覺圖像數據估計物體屬性”的新專利,旨在降低自動駕駛汽車視覺傳感器日益增長的成本和復雜性。此種方法可以讓車輛通過圖像數據和機器學習,檢測并解釋與周圍環境的距離。(圖片來源:www.teslarati.com)該項專利使用兩個神經網絡,僅使用圖像數據,測量與物體之間的距離。其中一個神經網絡可確定物體與車載攝像頭...

史海拾趣

問答坊 | AI 解惑

用單片機如何方便地算出一個矩形脈沖的占空比?

現在要檢測兩組矩形脈沖, 周期大概是16.7ms。 占空比隨著條件的不同而改變。 現在要檢測它們的占空比。 即要檢測它們的高低電平持續時間。(誤差要<0.5ms) 現在用的單片機只有下降沿觸發中斷, 只用笨拙的方法,查詢上升沿,然后觸發一個 ...…

查看全部問答∨

另一個默默地競爭者

本帖最后由 paulhyde 于 2014-9-15 09:05 編輯 亮了109年 “世界最長壽燈泡”(感謝uranus_woo的投遞) 美國加利福尼亞州利弗莫爾市第6消防站中的一只白熾燈泡現在已經109歲了,它被人們稱作 “百年燈泡”,因為它自從1901年首次投入使用后,至今 ...…

查看全部問答∨

聯發科技董事長蔡明介:CEO最重要的四件事

CEO的決策不是普通的決策,團隊決策看起來似乎比較好,但卻忘了團隊決策得到八十分,其中有九十分的人被拉下來了,這個人就可能是CEO。為什么CEO會被拉下來?因為團隊決策有平均化的傾向。  所以CEO是主靈魂,他形塑這個組織,他的意見還是最重要 ...…

查看全部問答∨

用VS2005開發WINCE程序,安裝WinCE 5.0 Device Emulator時,提示要WIN2000 SP4或者WINXP SP1才能安裝,我是WI

用VS2005開發WINCE程序,安裝WinCE 5.0 Device Emulator時,提示要WIN2000 SP4或者WINXP SP1才能安裝,我是WIN2003. 這是怎么回事?? 難道WINCE Emulator只能在WIN2K和WINXP上才能安裝??? 對操作系統有限制?…

查看全部問答∨

求一編碼芯片

求一解碼芯片:   輸入      輸出      1 00000001    000000001 2 00000010    000000011 3 00000100    000000111 4 00001000    000001111 5 ...…

查看全部問答∨

摩托羅拉誠聘簽約員工

由于新業務需要,摩托羅拉誠聘簽約員工。要求如下: 1)項目領域:Push-To-X, Video Surveillance, Pushmail, Auto-Office等 2)職位劃分:手機應用(Mobile Application)開發或Server端程序開發 3)具有很好的表述(presentation)能力和溝 ...…

查看全部問答∨

關于串口的兩個問題

1.VB中有兩個API函數SetCommBreak(),ClearCommBreak(),他們分別對串口電平產生什么影響? 2.最近學習的單片機SCI模塊具有串口喚醒功能,實際工程中,此功能一般在什么情況使用?操作步驟是什么?   不知道說清楚沒,期待高手回答…

查看全部問答∨

EK_LM3S8962-五子棋。。。

下面分享一下寫了一段時間的五子棋DEMO了。    我是將所以的代碼進行Lib化了的,所以工程里面除了demo.lib這個Lib文件外,就只要用戶接口函數,在這個函數里面我們可以實現任何的操作, 但其他的操作源碼是無法見到的,這也體現了MDK K ...…

查看全部問答∨

單位增益帶寬測試

本帖最后由 paulhyde 于 2014-9-15 09:13 編輯 大家有沒有做過運放的單位增益帶寬的測試?交流一下子····  …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 繁昌县| 揭阳市| 台东市| 孟州市| 类乌齐县| 府谷县| 响水县| 中阳县| 乌海市| 鄄城县| 景洪市| 湟中县| 连城县| 南溪县| 特克斯县| 永兴县| 历史| 奉贤区| 成武县| 德安县| 平罗县| 资阳市| 文水县| 成安县| 岳阳县| 临湘市| 高安市| 南陵县| 云和县| 徐汇区| 依兰县| 阿坝| 佳木斯市| 黄浦区| 封开县| 建湖县| 罗甸县| 玉山县| 临城县| 阳春市| 晋城|