在备份域中所有寄存器都是16位的, RTC控制相关的寄存器也不例外。它的计数器RTC_CNT的32位由RTC_CNTL和RTC_CNTH两个寄存器组成,分别保存定时计数值的低16位和高16位。 在配置RTC模块的时钟时,通常把输入的32768Hz的RTCCLK进行32768分频得到实际驱动计数器的时钟 TR_CLK =RTCCLK/32768= 1 Hz, 计时周期为1秒,...
在开启了 RTC 时钟之后,我们要做的是设置 RTC 时钟的分频数,通过 RTC_PRLH 和RTC_PRLL 来设置,然后等待 RTC 寄存器操作完成,并同步之后,设置秒钟中断。然后设置 RTC 的允许配置位(RTC_CRH 的 CNF 位),设置时间(其实就是设置RTC_CNTH 和 RTC_CNTL两个寄存器)。 登录后复制RTC_EnterConfigMode();/// 允许...
//进入配置模式 RTC->PRLL = 32767;//fTR_CLK = fRTCCLK /(PRL[19:0]+1),周期为1Hz RTC->CNTL = 0;//配置当前时间 RTC->CNTH = 0; RTC->ALRH = 0;//配置闹钟时间 RTC->ALRL = 2; RTC->CRH |= (RTC_CRH_ALRIE + RTC_CRH_SECIE);//使能秒中断和闹钟中断 RTC->CRL &= ~(RTC_...
它的计数器 RTC_CNT 的 32 位由 RTC_CNTL 和 RTC_CNTH 两个寄存器组成,分别保存定时计数值的低 16 位和高 16 位。 在配置 RTC 模块的时钟时, 通常把输入的 32768Hz 的 RTCCLK 进行 32768 分频得到实际驱动计数器的时钟TR_CLK = RTCCLK/32768= 1 Hz,计时周期为 1 秒,计时器在 TR_CLK 的驱动下...
它的计数器 RTC_CNT 的 32 位由 RTC_CNTL 和 RTC_CNTH 两个寄存器组成,分别保存定时计数值的低 16 位和高 16 位。在配置 RTC 模块的时钟时,通常把输入的 32768Hz 的 RTCCLK 进 32768 分频得到实际驱动计数器的时钟 TR_CLK = RTCCLK/32768= 1 Hz,计时周期为1秒,计时器在 TR_CLK 的驱动下计数,即每...
RTC内核完全独立于RTC APB1接口,而软件是通过APB1接口访问RTC的预分频值、计数器值和闹钟值,因此需要等待时钟同步,寄存器同步标志位(RSF)会硬件置1 RTC相关寄存器包括:控制寄存器(CRH、CRL)、预分频装载寄存器(PRLH、PRLL)、预分频器余数寄存器(DIVH、DIVL)、计数寄存器(CNTH、CNTL)、闹钟寄存器(ALRH、ALRL) ...
void RCC_RTCCLKConfig(uint32_t CLKSource);//时钟源选择 void RCC_RTCCLKCmd(FunctionalState NewState)//时钟使能 RTC配置函数(预分频,计数值: void RTC_SetPrescaler(uint32_t PrescalerValue);//预分频配置:PRLH/PRLL void RTC_SetCounter(uint32_t CounterValue);//设置计数器值:CNTH/CNTL ...
void RTC_SetCounter(uint32_t CounterValue) { RTC_EnterConfigMode(); /* Set RTC COUNTER MSB word */ RTC->CNTH = CounterValue >> 16; /* Set RTC COUNTER LSB word */ RTC->CNTL = (CounterValue & RTC_LSB_MASK); RTC_ExitConfigMode(); ...
● 可以选择以下三种RTC的时钟源: —HSE时钟除以128; —LSE振荡器时钟; —LSI振荡器时钟(详见6.2.8节RTC时钟)。 ● 2个独立的复位类型: — APB1接口由系统复位; — RTC核心(预分频器、闹钟、计数器和分频器)只能由后备域复位(详见6.1.3节)。
1. RTC 的初始化 1) 打开相应的时钟 从上面我们知道,如果我们操作 RTC,那么我们就要操作备份寄存器,...