实时时钟(RTC)由RTC计时器支持,该计时器由配置的STANDBYCLK计时。有关配置RTC和RTC计时器使用的时钟源的信息,请参阅第6.3.2节“备用时钟(备用)”。
RTC计时器是一个32位自由运行的倒计时计时器,从ACS_RTC_CFG寄存器的ACS_RTC-CFG_START_VALUE位字段。当前RTC计数器值可用通过ACS_RTC_COUNT寄存器,并且可以通过设置ACS_RTC_CTRL_reset位来重置当前计数ACS_RTC_CTRL寄存器。当RTC计时器达到0时,启动值加载到当前计数和RTC计时器继续。
当在的位14上检测到上升沿时,RTC定时器触发RTC时钟(RTC_clock_IRQ)中断RTC计时器。对于32768 Hz的典型STANDBYCLK配置,这会在一秒间隔。
当RTC计时器遇到警报时,RTC计时器还会触发RTC警报(RTC_alarm_IRQ)中断事件,如使用ACS_RTC_CTRL寄存器中的ACS_RTC_CTRL_ALARM_CFG位字段配置的。RTC警报只有当ACS_WAKUP_CTRL寄存器中的RTC_ALARM_WAKEUP_CLEAR位字段用于在每个RTC报警事件后清除唤醒状态。
ACS_RTC_CTRL寄存器中的ACS_RTC_CTRL_ALARM_CFG位字段指定以下内容之一:
- RTC警报被禁用(配置为0x0)。
- 当在RTC的7和20之间的指定位上检测到上升沿时,触发RTC警报计时器(分别从0x1到0xE配置)。
- 当RTC计时器达到0并重新加载启动值(配置为0xF)时,会触发RTC警报。