STM學(xué)習(xí)筆記--RTC
1:首先明白其時鐘來源,時鐘源于3個部分,HSE/28;LSE(32.768KHz);LSI(40KHz);時鐘經(jīng)過可編程預(yù)分頻器(20bits)RTC_PRLH/RTC_PRLLRTC_DIVH/RTC_DIVL,產(chǎn)生最長時間1S的RTC時間基準(zhǔn)TR_CLK,可產(chǎn)生秒中斷。TR_CLK周期累加(RTC_CNT計數(shù))并與RTC_ALR(32bits)寄存器比較,若相等則可產(chǎn)生鬧鐘中斷。若RTC_CNT計數(shù)溢出,也會產(chǎn)生溢出中斷。對RTC的操作,是通過APB1接口,其APB1接口是由APB1總線時鐘驅(qū)動(P1CLK),用來與APB1總線接口的。
本文引用地址:http://butianyuan.cn/article/201611/315984.htm注:預(yù)產(chǎn)生中斷,必須使能相應(yīng)的中斷位。RTC_CRH(OWIE,ALRIE,SECIE)
2:2個獨(dú)立的復(fù)位類型。
(1):APB1接口由系統(tǒng)復(fù)位
(2):RTC核心(分頻器,鬧鐘,計數(shù)器)由后備域復(fù)位
備份區(qū)域有兩個專門的復(fù)位,只影響備份區(qū)域。
復(fù)位條件:軟件復(fù)位,由備份區(qū)域控制寄存器(RCC_BDCR)中的BDRST
硬件復(fù)位,VDD,及VBAT兩者掉電前提下,VDD或者VBAT上電引發(fā)復(fù)位。
3:3個專門可屏蔽中斷
(1)秒中斷,最長時間為1S。Ftc_clk=Frtc_clk/(PRL[19:0]+1)
(2)溢出中斷,指示內(nèi)部可編程計數(shù)器溢出并到0的狀態(tài)。
(3)鬧鐘中斷,軟件可編程的鬧鐘中斷。
配置RTC寄存器
首先必須等到RTC_OFF為1,表示上一次寫RTC寄存器完成;其次將RTC_CRL寄存器中的CNF位置1,表示進(jìn)入寄存器配置模式。
配置步驟:
1:查詢RTC_OFF是否為1,直到RTC_OFF為1。(RTC_OFF為只讀位)
2:置CNF位為1,進(jìn)入配置模式
3:對RTC寄存器進(jìn)行寫/修改操作
4:清除CNF位,退出配置模式
5:查詢RTC_OFF標(biāo)志,直至RTC_OFF為1時表示寫入完成。
RTC的標(biāo)志設(shè)置
RTC預(yù)分頻器余數(shù)寄存器(RTC_DIVH/RTC_DIVL)
評論