RTC的时钟能够挑选四种时钟HSE/HIS/LSE/LSI,如下图所示。比较STM32的RTC需求相关软件合作才干RTC功用。STM8L愈加灵敏,相关寄存器就有33个,并且是硬件完成的,缺陷是没有独立的RTC供电的电源。
实时时钟的首要代码:
void main(void)
{
u8 temp=0;
/* Infinite loop */
/* Select LSE (32.768 KHz) as RTC clock source */
CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);
LCD_GLASS_Init();
Calendar_Init();
while (1)
{
RTC_GetTime(RTC_Format_BIN, &RTC_TimeStr);
temp=RTC_TimeStr.RTC_Seconds;
while(temp==RTC_TimeStr.RTC_Seconds)//查询等候1s
{
RTC_GetTime(RTC_Format_BIN, &RTC_TimeStr);
}
Time_Show();
}
}