STM32RTC喚醒功能配置(基於LL庫)

2021-10-05 21:39:14 字數 1039 閱讀 6352

//以下函式是基於stm32l476晶元寫的

/* * 函式名稱: rtc_wake_init

* 函式說明: rtc喚醒初始化(需要在時鐘初始化中開啟lse)

* 輸入引數: 無

* 返回引數: 無

*/void rtc_wake_init(void)

/* 設定重裝載值 */

ll_rtc_wakeup_setautoreload(rtc, 5);

/* 選擇喚醒時鐘 */

ll_rtc_wakeup_setclock(rtc, ll_rtc_wakeupclock_ckspre);

/* 使能內部喚醒線 */

ll_pwr_enableinternwu();

/* 配置喚醒中斷線20 */

ll_exti_enableit_0_31(ll_exti_line_20);

ll_exti_enablerisingtrig_0_31(ll_exti_line_20);

/* 配置喚醒中斷優先順序 */

nvic_setpriority(rtc_wkup_irqn, nvic_encodepriority(nvic_getprioritygrouping(), 0, 0));

nvic_enableirq(rtc_wkup_irqn);

/* 清除喚醒標誌 */

ll_rtc_clearflag_wut(rtc);

/* 清除中斷 */

ll_rtc_enableit_wut(rtc);

ll_rtc_wakeup_enable(rtc);

/* 使能寫保護 */

ll_rtc_enablewriteprotection(rtc); }

/** * @brief this function handles rtc wake-up interrupt through exti line 20.

*/void rtc_wkup_irqhandler(void)

}}

以上**實測可行,喚醒時間可設定。

STM32,RTC週期性喚醒(wakeup)中斷

stm32l151 int main void static void mx rtc init void enable the wakeup 配置rtc cr暫存器的低兩位,選擇rtc計數器時鐘的頻率這裡是1hz,cr暫存器的第十四位使能wakeup喚醒中斷,給wakeup定時器賦值為10,這裡就是...

STM32 RTC自適應校準演算法

公司負責硬體的同事測試發現,rtc使用外部晶振時,由於一些干擾 高頻訊號之類的 外部晶振會出現不起振的情況,於是就決定把外部晶振取消了,又因為裝置要低功耗的,就沒用有源的晶振,於是乎就用了stm32內部的rc時鐘 rc時鐘的兩個分頻值都可以設定,校準的原理很簡單,固定乙個分頻值,然後動態調整另乙個分...

STM32進入低功耗模式以及喚醒(RTC 中斷)

此文獻給做微控制器工作的同僚,希望大家在嵌入式硬體的道路上越走越遠,第一篇,望大家多多指導,不喜勿噴!這裡主要說一下,本人在除錯stm32低功耗功能時遇到的問題以及解決思路與大家分享一下。在確認使用低功耗功能後,大家鐵定會通過不同途徑查詢相關的資料,了解到什麼是低功耗 低功耗有哪幾種以及不同模式之間...