1.1.1 RTC实时时钟
首先要初始化各种配置才能真正的进入主函数
(1) RCC的配置函数:
第一件事情,喂时钟。
RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP|RCC_APB1Periph_PWR,ENABLE);
注意,喂的是什么?不是RTC,是电源管理和BKP备份器的时钟。用于备份模式下。
即系统掉电了,BKP和RTC还能继续工作,RTC继续计时。
那么RTC的时钟呢?前面提到,RTC的时钟,一般用LSE。
例:根据自己的需求初始化各个时钟
之后是配置LCD、gpio口、中断、串口配置
其中LCD还不是弄得很好清楚;
gpio口一般是初始化LED灯的此处用到了USART1,,所以初始化PA9和PA10两个串口作为Tx和Rx端口;
中断主要是将RTC的中断进行配置:中断子函数“RTC_IRQn”;
串口的配置相关的波特率等并开启USART1串口。
(2)关于RTC的配置
首先判断语句:
这个只是标志而已,是用来确认RTC的时钟是否已经设置好了。跟硬件无关。
第一次使用RTC时,没有设置过时钟,那么备份域的这个寄存器就不会等于0xa5a5,
于是执行RTC_Configuration()来配置时钟。
在设置了时钟之后,向备份域寄存器写入0xa5a5,表明时钟已经配置过了。
所以,这里的0xa5a5你可以用其它的数值。只要写入数的跟用来判定的是同一个数就可以了。
其中RTC_Configuration();就是配置时钟为一秒钟一次。开启RTC
例:
Time_Adjust();要用户输入时间的起始。
(3)时间的输出
通过void Time_Show(void)
通过串口函数打印出时间信息