STM學(xué)習(xí)筆記--RTC
1:首先明白其時(shí)鐘來(lái)源,時(shí)鐘源于3個(gè)部分,HSE/28;LSE(32.768KHz);LSI(40KHz);時(shí)鐘經(jīng)過(guò)可編程預(yù)分頻器(20bits)RTC_PRLH/RTC_PRLLRTC_DIVH/RTC_DIVL,產(chǎn)生最長(zhǎng)時(shí)間1S的RTC時(shí)間基準(zhǔn)TR_CLK,可產(chǎn)生秒中斷。TR_CLK周期累加(RTC_CNT計(jì)數(shù))并與RTC_ALR(32bits)寄存器比較,若相等則可產(chǎn)生鬧鐘中斷。若RTC_CNT計(jì)數(shù)溢出,也會(huì)產(chǎn)生溢出中斷。對(duì)RTC的操作,是通過(guò)APB1接口,其APB1接口是由APB1總線時(shí)鐘驅(qū)動(dòng)(P1CLK),用來(lái)與APB1總線接口的。
本文引用地址:http://www.2s4d.com/article/201611/315984.htm注:預(yù)產(chǎn)生中斷,必須使能相應(yīng)的中斷位。RTC_CRH(OWIE,ALRIE,SECIE)
2:2個(gè)獨(dú)立的復(fù)位類(lèi)型。
(1):APB1接口由系統(tǒng)復(fù)位
(2):RTC核心(分頻器,鬧鐘,計(jì)數(shù)器)由后備域復(fù)位
備份區(qū)域有兩個(gè)專(zhuān)門(mén)的復(fù)位,只影響備份區(qū)域。
復(fù)位條件:軟件復(fù)位,由備份區(qū)域控制寄存器(RCC_BDCR)中的BDRST
硬件復(fù)位,VDD,及VBAT兩者掉電前提下,VDD或者VBAT上電引發(fā)復(fù)位。

3:3個(gè)專(zhuān)門(mén)可屏蔽中斷
(1)秒中斷,最長(zhǎng)時(shí)間為1S。Ftc_clk=Frtc_clk/(PRL[19:0]+1)
(2)溢出中斷,指示內(nèi)部可編程計(jì)數(shù)器溢出并到0的狀態(tài)。
(3)鬧鐘中斷,軟件可編程的鬧鐘中斷。
配置RTC寄存器
首先必須等到RTC_OFF為1,表示上一次寫(xiě)RTC寄存器完成;其次將RTC_CRL寄存器中的CNF位置1,表示進(jìn)入寄存器配置模式。
配置步驟:
1:查詢(xún)RTC_OFF是否為1,直到RTC_OFF為1。(RTC_OFF為只讀位)
2:置CNF位為1,進(jìn)入配置模式
3:對(duì)RTC寄存器進(jìn)行寫(xiě)/修改操作
4:清除CNF位,退出配置模式
5:查詢(xún)RTC_OFF標(biāo)志,直至RTC_OFF為1時(shí)表示寫(xiě)入完成。
RTC的標(biāo)志設(shè)置
RTC預(yù)分頻器余數(shù)寄存器(RTC_DIVH/RTC_DIVL)

評(píng)論