如下图4xx系列RTC结构框图所示,RTC时钟源可配置通过数字平滑校准或直接输入到7位异步预分频器输出ck_apre时钟用于RTC_SS亚秒寄存器自减计数,ck_apre时钟又可通过数字粗平滑校准或直接输入15位同步预分频器后输出1HZ的ck_spre时钟提供日历寄存器使用;基于日历寄存器还实现了闹钟和时间戳功能;RTC还具有闹钟、时钟输出功...
rcu_rtc_clock_config(RCU_RTCSRC_HXTAL_DIV_128); #endif /*使能RTC时钟*/ rcu_periph_clock_enable(RCU_RTC); /*等待RTC寄存器同步*/ rtc_register_sync_wait(); /*等待上一次操作完成*/ rtc_lwoff_wait(); /*使能RTC秒中断*/ rtc_interrupt_enable(RTC_INT_SECOND); /*等待上一次操作完成*/ rtc...
如下图4xx系列RTC结构框图所示,RTC时钟源可配置通过数字平滑校准或直接输入到7位异步预分频器输出ck_apre时钟用于RTC_SS亚秒寄存器自减计数,ck_apre时钟又可通过数字粗平滑校准或直接输入15位同步预分频器后输出1HZ的ck_spre时钟提供日历寄存器使用;基于日历寄存器还实现了闹钟和时间戳功能;RTC还具有闹钟、时钟输出功...
置时需要等待上一次配置结束才能继续新的配置,所以在每个寄存器配置前需要执行rtc_lwoff_wait()函数,...
rtc_lwoff_wait(); /*使能RTC秒中断*/ rtc_interrupt_enable(RTC_INT_SECOND); /*等待上一次操作完成*/ rtc_lwoff_wait(); /*依据选择的时钟源来设置分频,使RTC周期为1s*/ #ifdef RTC_CLOCK_SOURCE_LXTAL rtc_prescaler_set(32767); #endif
rtc_lwoff_wait(); //等待RTC的最后一次操作完成 rtc_interrupt_enable(RTC_INT_SECOND);//使能...
16.2.3配置RTC寄存器 必须设置RTC_CTL寄存器中的CMF位,使 RTC进入配置模式后,才能写入 RTC_PSC、RTC_CNT、RTC_ALRM寄存器。 另外,对RTC任何寄存器的写操作,都必须在前一次写操作结束后进行。可以通过查询RTC_CTL寄存器中的LWOFF状态位,判断RTC寄存器是否处于更新中。仅当LWOFF状态位是’1’时,才可以写入RTC寄存器。
rtc_lwoff_wait();} 由于使用RV-STAR板载的32.768K的晶振作为RTC时钟源,因此配置时要选择LXTAL,...
/* enable the RTC second interrupt ʹRTC'*/ rtc_interrupt_enable(RTC_INT_SECOND); /* wait until last write operation on RTC registers has finished RTC*/ rtc_lwoff_wait(); /* set RTC prescaler: set RTC period to 1s */ rtc_prescaler_set(32767); ...
0x系列时钟及分频配置如代码清单 RTC 0x系列时钟及分频配置所示,RTC使能后需要等待RTC寄存器和APB1时钟同步,执行rtc_register_sync_wait()函数;此外0x系列RTC在RTC寄存器配 置时需要等待上一次配置结束才能继续新的配置,所以在每个寄存器配置前需要执行rtc_lwoff_wait()函数,等待LWOFF置位。