stm32l0 rtc
休眠週期自動喚醒
文件整理
wangxl@20190814
一、週期性自動喚醒--手冊文件說明
週期性喚醒標誌由
16 位可程式設計自動過載遞減計數器生成。喚醒定時器範圍可擴充套件至
17 位。
可通過rtc_cr
暫存器中的
wute
位來使能此喚醒功能。
喚醒定時器的時鐘輸入可以是: 2、
4、8 或
16 分頻的
rtc
時鐘(rtcclk)。
當rtcclk
為lse (32.768 khz)
時,可配置的喚醒中斷週期介於
122 µs
和32 s
之 間,且解析度低至
61 µs。
· ck_spre
(通常為
1 hz
內部時鐘)。 當
ck_spre
頻率為1 hz
時,可得到的喚醒時間為
1s 到
36h
左右,解析度為
1 秒。這 一較大的可程式設計時間範圍分為兩部分:
– wucksel [2:1] = 10
時為1s
到18h
– wucksel [2:1] = 11
時約為18h
到36h
。在後一種情況下,會將
216
新增到16
位計數器當前值。完成初始化序列後(請參見
第600
頁的程式設計喚醒定時器
),定時 器開始遞減計數。在低功耗模式下使能喚醒功能時,遞減計數保持有效。此外,當 計數器計數到
0 時,
rtc_isr
暫存器的
wutf
標誌會置
1,並且喚醒暫存器會使用其過載值(
rtc_wutr
暫存器值)動過載。 之後必須用軟體清零
wutf
標誌。
通過將rtc_cr2
暫存器中的
wutie
位置1
來使能週期性喚醒中斷時,它會使器件退出低功耗模式。
如果已通過
rtc_cr
暫存器的位
osel[1:0]
使能週期性喚醒標誌,則該標誌可連線到
rtc_alarm
輸出。可通過
rtc_cr
暫存器的
pol
位配置rtc_alarm
輸出極性。
系統復位以及低功耗模式(睡眠、停機和待機)對喚醒定時器沒有任何影響。
二、配置週期喚醒
配置步驟如下:
1. 禁用週期喚醒功能,復位rtc_cr2中wute位;
2. 等待rtc_isr1中wutwf位置位,表示喚醒計數器可配置;
3. 配置喚醒時鐘,設定rtc_cr1中wucksel[2:0]位:
- 000: rtcclk/16
- 001: rtcclk/8
- 010: rtcclk/4
- 011: rtcclk/2
- 10x: ck_spre(1hz,wut計數範圍:0x0000~0xffff)
- 11x: ck_spre(1hz,wut計數範圍:0x10000~0x1ffff)
4. 配置喚醒週期,裝載暫存器rtc_wutrh和rtc_wutrl;
5. 使能週期喚醒功能,置位rtc_cr2中wute位。(
該中斷會使mcu退出低功耗狀態,進入執行狀態。)
rtcclk,預分頻2,4,8或16。如果rtcclk為lse,即32768hz,則可配置喚醒週期為:(61us ~ 32s)
ck_spre, 1hz時鐘,則可配置喚醒週期為:(1s ~ 36h)
三、rtc時鐘配置
1、時鐘源選擇:rtc時鐘源可選hse,lse,hsi或lsi。
為確保rtc精確工作,要求系統時鐘(sysclk)必須等於或大於4*rtcclk值。如果系統時鐘(sysclk)為lse或lsi,則rtc時鐘必須等於系統時鐘(sysclk),並且禁用rtc同步機制(置位rtc_cr1暫存器ratio位)。
2、配置rtc時鐘源:配置rtc時鐘源為lse,1分頻,即32768hz。
3、配置ck_spre時鐘; ck_spre時鐘,
預設1hz時鐘。
(1) 設定7位非同步預分頻,rtc_apreg:prediva,預設127;
(2) 設定13(medium)或15位同步預分頻,rtc_sprerx:prediv_s,預設255。
即:1hz=32768/((127+1)*(255+1))
ck_spre時鐘可用於日曆和定時喚醒時鐘。
//引數
time 秒
STM32,RTC週期性喚醒(wakeup)中斷
stm32l151 int main void static void mx rtc init void enable the wakeup 配置rtc cr暫存器的低兩位,選擇rtc計數器時鐘的頻率這裡是1hz,cr暫存器的第十四位使能wakeup喚醒中斷,給wakeup定時器賦值為10,這裡就是...
STM32L0 內部EEPROM寫讀
stm32l0內部的eeprom寫操作由解鎖,寫入,加鎖過程組成,讀過程則無需解鎖。至於stm32l0內部的非易失空間區分為flash和eeprom,主要體現在用st link等工具進行整片擦除時,只擦除flash的空間,eeprom的部分不會被擦除,如同外部eeprom晶元,mpu的 公升級不影響...
STM32F0 休眠模式下 ADC取樣失效
筆者最近在作某汽車上的智慧型方向盤按鍵專案,系統要求待機電流小於100ua,同時能檢測系統輸入電壓狀態,做到能自檢欠壓和過壓,並通過lin傳送給中控。故筆者在對輸入電壓加了乙個分壓電路來檢測,現在客戶測試發現過壓和欠壓的判斷閾值與要求不符合,筆者在實際測試過程中也確實發現了問題,但未燒錄過程式的板子...