STM32寄存器列表 RTC相关寄存器

作者:fly 发布于:2014-5-13 10:10 分类:嵌入式

本文出自www.forwhat.cn

 

RTC_CRH(RTC控制寄存器高位)

2位:OWIE允许溢出中断位,定义:0(屏蔽中断),1(允许中断)

1位:ALRIE允许闹钟中断位,定义:0(屏蔽中断),1(允许中断)

0位:SECIE允许秒中断位,定义:0(屏蔽中断),1(允许中断)

 

 

RTC_CRL(RTC控制寄存器低位)

5位:RTOFFRTC操作关闭(只读位)TC模块利用这位来指示对其寄存器进行的最后一次操作的状态,指示操作是否完成。若此位为’0’,

    则表示无法对任何的RTC寄存器进行写操作。定义:0(上一次对RTC寄存器的写操作仍在进行),1(上一次对RTC寄存器的写操作已经完成)

4位:CNF配置标志,此位必须由软件置’1’以进入配置模式,从而允许向RTC_CNT、RTC_ALR或RTC_PRL寄存器写入数据。只有当此位在被置’1’

    并重新由软件清’0’后,才会执行写操作,定义:0(退出配置模式(开始更新RTC寄存器),1(进入配置模式)

3位:RSF寄存器同步标志,每当RTC_CNT寄存器和RTC_DIV寄存器由软件更新或清’0’时,此位由硬件置’1’。在APB1复位后,或APB1时钟停止后,此位必须由

    软件清’0’。要进行任何的读操作之前,用户程序必须等待这位被硬件置’1’,以确保RTC_CNT、RTC_ALR或RTC_PRL已经被同步。

    定义:0(寄存器尚未被同步),1(寄存器已经被同步)

2位:OWF溢出标志,当32位可编程计数器溢出时,此位由硬件置’1’。如果RTC_CRH寄存器中OWIE=1,则产生中断。此位只能由软件清’0’。

    对此位写’1’是无效的,定义:0(无溢出),1(32位可编程计数器溢出)

1位:ALRF闹钟标志,当32位可编程计数器达到RTC_ALR寄存器所设置的预定值,此位由硬件置’1’。如果RTC_CRH寄存器中ALRIE=1,则产生中断。

    此位只能由软件清’0’。对此位写’1’是无效的,定义:0(无闹钟),1(有闹钟)

0位:SECF秒标志,当32位可编程预分频器溢出时,此位由硬件置’1’同时RTC计数器加1。因此,此标志为分辨率可编程的RTC计数器提供一个周期性的信号(通常为1秒)。

    如果RTC_CRH寄存器中SECIE=1,则产生中断。此位只能由软件清除。对此位写’1’是无效的 ,定义:0(秒标志条件不成立),1(秒标志条件成立)

注1:任何标志位都将保持挂起状态,直到适当的RTC_CR请求位被软件复位,表示所请求的中断已经被接受

注2:在复位时禁止所有中断,无挂起的中断请求,可以对RTC寄存器进行写操作。

注3:当APB1时钟不运行时,OWF、ALRF、SECF和RSF位不被更新

注4:OWF、ALRF、SECF和RSF位只能由硬件置位,由软件来清零。

注5:若ALRF=1且ALRIE=1,则允许产生RTC全局中断。如果在EXTI控制器中允许产生EXTI线 17中断,则允许产生RTC全局中断和RTC闹钟中断

注6:若ALRF=1,如果在EXTI控制器中设置了EXTI线 17的中断模式,则允许产生RTC闹钟中断;如果在EXTI控制器中设置了EXTI线 17的事件模式,

    则这条线上会产生一个脉冲(不会产生RTC闹钟中断)

 

 

RTC_PRLH(RTC预分频装载寄存器高位)

3-0位:PRL[19:16]RTC预分频装载值高位,fTR_CLK = fRTCCLK/(PRL[19:0]+1),注:不推荐使用0值,否则无法正确的产生RTC中断和标志位。

 

 


RTC_PRLL(RTC预分频装载寄存器低位)

15-0位:PRL[15:0]RTC预分频装载值低位

 

 

RTC_DIVH(RTC预分频器余数寄存器高位)

3-0位:RTC_DIV[19:16]RTC时钟分频器余数高位,只读寄存器

 

 

RTC_DIVL(RTC预分频器余数寄存器低位)

15-0位:RTC_DIV[15:0]RTC时钟分频器余数低位,只读寄存器

 

 

RTC_CNTH(RTC计数器寄存器高位)

15-0位:RTC_CNT[31:16]RTC计数器高位,可通过读RTC_CNTH寄存器来获得RTC计数器当前值的高位部分。要对此寄存器进行写操作前,必须先进入配置模式

 

 

RTC_CNTL(RTC计数器寄存器低位)

15-0位:RTC_CNT[15:0]RTC计数器低位,可通过读RTC_CNTH寄存器来获得RTC计数器当前值的低位部分。要对此寄存器进行写操作前,必须先进入配置模式

 

 

RTC_ALRH(RTC闹钟寄存器高位)

15-0位:RTC_ALR[31:16]RTC闹钟值高位,此寄存器用来保存由软件写入的闹钟时间的高位部分。要对此寄存器进行写操作,必须先进入配置模式

 

 

RTC_ALRL(RTC闹钟寄存器低位)

15-0位:RTC_ALR[31:16]RTC闹钟值低位,此寄存器用来保存由软件写入的闹钟时间的低位部分。要对此寄存器进行写操作,必须先进入配置模式


发表评论:

 
Powered by emlog sitemap