RTC時鐘源
RTC是一個獨立的時鐘源
RTC寄存器
RTC控制寄存器 (RTC_CRH, RTC_CRL)
RTC預分頻裝載寄存器 (RTC_PRLH, RTC_PRLL)
RTC預分頻余數寄存器 (RTC_DIVH, RTC_DIVL)
RTC計數器寄存器 (RTC_CNTH, RTC_CNTL)
RTC鬧鐘寄存器 (RTC_ALRH ,RTC_ALRL)
RTC控制寄存器高位——RTC_CRH 寄存器
作用:配置3個專門的可屏蔽中斷(溢出中斷、鬧鐘中斷、秒中斷)使能。
注意:系統復位后所有的中斷被屏蔽,因此可通過寫RTC寄存器來
確保在初始化后沒有掛起的中斷請求。當外設正在完成前一次寫操作時(標志位RTOFF=0),不
能對RTC_CRH寄存器進行寫操作。
RTC控制寄存器低位——RTC_CRL 寄存器
一般用到該寄存器的 3,4,5位
第 3 位為寄存器同步標志位,我們在修改控制寄存器 RTC_CRH/CRL 之前,必須先判斷該位,是否已經同步了,如果沒有則等待同步
第 4 位為配置標位,在軟件修改 RTC_CNT/RTC_ALR/RTC_PRL 的值的時候,必須先軟件置位該位,以允許進入配置模式
第 5 位為 RTC 操作位,該位由硬件操作,軟件只讀。通過該位可以判斷上次對 RTC 寄存器的操作是否完成,如果沒有,我們必須等待上一次操作結束才能開始下一次,也就是判斷RTOFF位是否置位。
三個位總結如下:
① 修改CRH/CRL寄存器,必須先判斷RSF位,確定已經同步。
② 修改CNT,ALR,PRL的時候,必須先配置CNF位進入配置模式,修改完之后,設置CNF位為0退出配置模式
③ **同時在對RTC相關寄存器寫操作之前,必須判斷上一始終是否關閉
-
寄存器
+關注
關注
31文章
5363瀏覽量
121157 -
RTC
+關注
關注
2文章
542瀏覽量
67028 -
時鐘源
+關注
關注
0文章
93瀏覽量
16035
發布評論請先 登錄
相關推薦
評論