STM32 - PWR 筆記

PWR(Power Control)電源控制

PWR 負責管理 STM32 內部的電源供電部分,可以實現 可編程電壓監測器 和 低功耗模式 的功能

  1. 可編程電壓監測器(PVD)可以監控VDD電源電壓,當VDD下降到PVD閥值以下或上升到PVD閥值之上時,PVD會觸發中斷,用于執行緊急關閉任務
  2. 低功耗模式包括 睡眠模式(Sleep)、停機模式(Stop)和待機模式(Standby),可在系統空閑時,降低STM32的功耗,延長設備使用時間

電壓調節器

復位后調節器總是使能的。根據應用方式它以3種不同的模式工作。
  • 運轉模式:調節器以正常功耗模式提供1.8V電源(內核,內存和外設)。
  • 停止模式:調節器以低功耗模式提供1.8V電源,以保存寄存器和SRAM的內容。
  • 待機模式:調節器停止供電。除了備用電路和備份域外,寄存器和SRAM的內容全部丟失。

?電源框圖

細分三個部分,VDDA供電區域 是負責模擬電路 供電,VDD供電區域 是負責 數字電路 供電。? ? 后備供電區域是備用電源。

可編程電壓監測器(PVD) ?

上電復位(POR)和掉電復位(PDR)

STM32內部有一個完整的上電復位(POR)和掉電復位(PDR)電路,當供電電壓達到2V時系統既能正常工作。當 VDD?/ VDDA?低于指定的限位電壓VPOR/VPDR時,系統保持為復位狀態,而無需外部復位電路。

?上電復位和掉電復位的波形圖

設置PVDE位來使能PVD?

當VDD下降到PVD閥值以下和(或)當VDD上升到PVD閥值之上時,根據外部中斷第16線的上升/下降邊沿觸發設置,就會產生PVD中斷。

PVD的門限

?低功耗模式

有三種低功耗模式:
  • 睡眠模式:Cortex?-M3內核停止,所有外設包括Cortex-M3核心的外設,如NVIC、系統時鐘(SysTick)等仍在運行
  • 停止模式:所有的時鐘都已停止
  • 待機模式:1.8V電源關閉
在運行模式下,可以通過以下方式中的一種降低功耗:
  • 降低系統時鐘
  • 關閉APB和AHB總線上未被使用的外設時鐘。

?執行WFI(Wait For Interrupt)或者WFE(Wait For Event)指令后,STM32進入低功耗模式

實際建議能用WFI就使用WFI進入睡眠,WFE進入睡眠,解除有些麻煩?

如果執行WFE指令進入睡眠模式,則一旦發生喚醒事件時,微處理器都將從睡眠模式退出。喚
醒事件可以通過下述方式產生:
  • 在外設控制寄存器中使能一個中斷,而不是在NVIC(嵌套向量中斷控制器)中使能,并且在Cortex-M3系統控制寄存器中使能SEVONPEND位。當MCU從WFE中喚醒后,外設的中斷掛起位和外設的NVIC中斷通道掛起位(在NVIC中斷清除掛起寄存器中)必須被清除。
  • 配置一個外部或內部的EXIT線為事件模式。當MCU從WFE中喚醒后,因為與事件線對應的掛起位未被設置,不必清除外設的中斷掛起位或外設的NVIC中斷通道掛起位

開啟代碼?

?修改主頻

把此文件只讀變為可寫(在該文件的屬性中修改),然后想改哪個主頻就解除哪個!!!?

睡眠模式

  • 執行完WFI/WFE指令后,STM32進入睡眠模式,程序暫停運行,喚醒后程序從暫停的地方繼續運行
  • SLEEPONEXIT位決定STM32執行完WFI或WFE后,是立刻進入睡眠,還是等STM32從最低優先級的中斷處理程序中退出時進入睡眠
  • 在睡眠模式下,所有的I/O引腳都保持它們在運行模式時的狀態
  • WFI指令進入睡眠模式,可被任意一個NVIC響應的中斷喚醒
  • WFE指令進入睡眠模式,可被喚醒事件喚醒?
__WFI();			//執行WFI指令,CPU睡眠,并等待中斷喚醒__WFE();            //執行WFE指令,CPU睡眠,并等待事件喚醒

停止模式

  • 執行完WFI/WFE指令后,STM32進入停止模式,程序暫停運行,喚醒后程序從暫停的地方繼續運行
  • 1.8V供電區域的所有時鐘都被停止,PLL、HSI和HSE被禁止,SRAM和寄存器內容被保留下來
  • 在停止模式下,所有的I/O引腳都保持它們在運行模式時的狀態 當一個中斷或喚醒事件導致退出停止模式時,HSI被選為系統時鐘
  • 當電壓調節器處于低功耗模式下,系統從停止模式退出時,會有一段額外的啟動延時
  • WFI指令進入停止模式,可被任意一個EXTI中斷喚醒
  • WFE指令進入停止模式,可被任意一個EXTI事件喚醒
    /*開啟時鐘*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);	//開啟PWR的時鐘//停止模式和待機模式一定要記得開啟PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI);//STM32進入停止模式,并等待中斷喚醒SystemInit();									//喚醒后,要重新配置時鐘

待機模式

  • ?執行完WFI/WFE指令后,STM32進入待機模式,喚醒后程序從頭開始運行
  • 整個1.8V供電區域被斷電,PLL、HSI和HSE也被斷電,SRAM和寄存器內容丟失,只有備份的寄存器和待機電路維持供電
  • 在待機模式下,所有的I/O引腳變為高阻態(浮空輸入)
  • WKUP引腳的上升沿、RTC鬧鐘事件的上升沿、NRST引腳上外部復位、IWDG復位退出待機模式
/*開啟時鐘*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);	//開啟PWR的時鐘//停止模式和待機模式一定要記得開啟/*使能WKUP引腳*/PWR_WakeUpPinCmd(ENABLE);					//使能位于PA0的WKUP引腳,WKUP引腳上升沿喚醒待機模式/*設定鬧鐘*/uint32_t Alarm = RTC_GetCounter() + 10;		//鬧鐘為喚醒后當前時間的后10sRTC_SetAlarm(Alarm);						//寫入鬧鐘值到RTC的ALR寄存器OLED_ShowNum(2, 6, Alarm, 10);				//顯示鬧鐘值/*開啟停止*/PWR_EnterSTANDBYMode();				//STM32進入停止模式,并等待指定的喚醒事件(WKUP上升沿或RTC鬧鐘)/*待機模式喚醒后,程序會重頭開始運行*/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44945.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44945.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44945.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

usbserver工程師手記(三)手工開通 OTP功能

1、設定密鑰,用戶自行選擇一個密鑰,以下以密鑰為 EAZAYOKNGETBOPC5 為例說明 2、usb server 配置otp 密鑰,目前還沒有UI 界面開通,后續版本會支持從管理界面開通 curl -X POST -H Content-Type: application/json -H Accept: app…

關于transformers庫驗證時不進入compute_metrics方法的一些坑

生成式任務輸入就是標簽 transformers在進入compute_metrics前會有一個判斷,源碼如下: # 版本 transformers4.41.2 # 在trainer.py 的 3842 行 # Metrics! if (self.compute_metrics is not Noneand all_preds is not Noneand all_labels is not Nonea…

Centos7下zabbix安裝與部署

Centos7下zabbix安裝與部署 一、Zabbix介紹 1、zabbix是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案 2、zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各…

活動策劃秘籍:如何讓企業活動引爆市場?

作為一個活動策劃,我的經驗是,活動策劃是一場精心編排的交響樂,每一個音符都要恰到好處。 想要做好企業活動策劃工作的關鍵在于綜合考慮多個方面,并確保每個環節的順暢執行。 以下是7個關鍵要素,只要用心體會&#x…

學習小記-使用Redis的令牌桶算法實現分布式限流

在介紹令牌桶算法前先介紹一下漏桶算法(Leaky Bucket) 漏桶算法(Leaky Bucket) 漏桶算法是一種固定容量的容器模型,它通過控制數據流入和流出的速度來限制數據的傳輸速率。漏桶算法的主要特點包括: 固定…

鴻蒙開發:Universal Keystore Kit(密鑰管理服務)【密鑰派生(C/C++)】

密鑰派生(C/C) 以HKDF256密鑰為例,完成密鑰派生。具體的場景介紹及支持的算法規格,請參考[密鑰生成支持的算法]。 在CMake腳本中鏈接相關動態庫 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)開發步驟 生成密鑰 指定密鑰別名。 初始化密鑰屬…

通過電壓差判定無源晶振是否起振正確嗎?

在電子工程中,無源晶振作為許多數字電路的基礎組件,其是否成功起振對于系統的正常運行至關重要。然而,通過簡單檢測晶振兩端的電壓差來判斷晶振是否工作,這一方法存在一定的誤區,晶發電子將深入探討這一話題&#xff0…

2008年下半年軟件設計師【下午題】真題及答案

文章目錄 2008年下半年軟件設計師下午題--真題2008年下半年軟件設計師下午題--答案 2008年下半年軟件設計師下午題–真題 2008年下半年軟件設計師下午題–答案

四川赤橙宏海商務信息咨詢有限公司抖音電商服務靠譜嗎?

在數字化浪潮席卷全球的今天,電商行業蓬勃發展,各種新興電商平臺層出不窮。其中,抖音電商以其獨特的社交屬性和龐大的用戶基礎,迅速崛起為行業新星。四川赤橙宏海商務信息咨詢有限公司,作為專注于抖音電商服務的佼佼者…

個人怎么交易現貨黃金:加速形態

我們作為普通個人,在現貨黃金市場中交易就需要掌握相應的現貨黃金投資技巧。下面我們就來介紹一個,個人怎么交易現貨黃金的形態——加速形態。 加速形態是用于判斷市場趨勢力竭的情況,這種趨勢可以是上升,也可以是下跌。但是要注意…

用Qwt進行圖表和數據可視化開發

目錄 Qwt介紹 示例應用場景 典型QWT開發流程 舉一些Qwt的例子,多繪制幾種類型的圖像 1. 繪制折線圖 (Line Plot) 2. 繪制散點圖 (Scatter Plot) 3. 繪制柱狀圖 (Bar Plot) 4. 繪制直方圖 (Histogram) Qwt介紹 QWT開發主要涉及使用QWT庫進行圖表和數據可視化…

晉升業內新寵兒,MoE模型給了AI行業兩條關鍵出路

文 | 智能相對論 作者 | 陳泊丞 今年以來,MoE模型成了AI行業的新寵兒。 一方面,越來越多的廠商在自家的閉源模型上采用了MoE架構。在海外,OpenAI的GPT-4、谷歌的Gemini、Mistral AI的Mistral、xAI的Grok-1等主流大模型都采用了MoE架構。 …

第三方配件也能適配蘋果了,iOS 18與iPadOS 18將支持快速配對

蘋果公司以其對用戶體驗的不懈追求和對創新技術的不斷探索而聞名。隨著iOS 18和iPadOS 18的發布,蘋果再次證明了其在移動操作系統領域的領先地位。 最新系統版本中的一項引人注目的功能,便是對藍牙和Wi-Fi配件的配對方式進行了重大改進,不僅…

python如何計算兩個時間相差多少秒鐘,分鐘,小時,天,月,年

使用場景:在做上課記錄系統的時候,有上課開始時間和上課結束時間,需要計算這兩個時間的插值,以分鐘為單位。 封裝方法如下: from datetime import datetimedef sub_seconds(date1: str "2024-07-11 12:33:33&q…

【CORS 報錯】跨域請求問題:CORS 多種環境下的解決方案

🔥 個人主頁:空白詩 文章目錄 一、CORS錯誤的常見原因二、解決方案1. Vue3 Vite項目下的解決方案創建Vue3 Vite項目配置Vite的代理發送請求 2. jQuery項目下的解決方案使用CORS請求頭使用JSONP 3. 其他環境下的解決方案使用服務器端代理設置CORS頭使用…

PS拉框選擇工具

Photoshop(PS)中的拉框選擇工具,也稱為選框工具,是圖像處理中非常基礎且強大的工具之一。它允許用戶通過繪制矩形、橢圓形以及單行、單列的選擇框來選定圖像中的特定區域。本教程將詳細介紹選框工具的使用方法、技巧及其屬性設置。…

嵌入式Qt開發C++核心編程知識萬字總結

C核心編程 文章目錄 C核心編程1、程序的內存模型2、函數高級1.函數的默認參數2.函數的占位參數3.函數重載1.基本語法2.注意事項 3、類和對象1.類1.類的組成2.類的訪問權限3.class和struct的區別 2.構造函數(Constructor)1.示例2.特點 3.析構函數&#xf…

前端vue3 登錄頁面 響應式開發

一個登錄頁面 我直接上代碼了 結構是這樣的 Login 頁面 <template><a-layout class"login-box"><a-layout-content class"login-content"><a-row align"middle" justify"center" class"login-content-ma…

蝙蝠避障:為盲人出行插上科技的翅膀

在這個五彩斑斕的世界里&#xff0c;每一步都充滿了探索與驚喜。但對于我這樣的視障者來說&#xff0c;每一次出行都是一場未知的冒險。我時常面臨著難以想象的挑戰&#xff1a;如何安全地穿越繁忙的街道&#xff0c;怎樣準確地識別前方的障礙物&#xff0c;乃至簡單地找到回家…

viewmodel創建及使用分析

1、相關的類 ViewModelStore &#xff1a;管理viewModel實例&#xff0c;內部包含一個Map用來存儲viewmodel&#xff0c;內部包括put、get、clear等方法ViewModelProvider &#xff1a;管理ViewModelStore和Factory&#xff0c;Factory里面有create方法是創建對應的viewmodel的…