初级会员

- 积分
- 102
- 金钱
- 102
- 注册时间
- 2014-4-10
- 在线时间
- 10 小时
|

楼主 |
发表于 2015-3-26 10:17:04
|
显示全部楼层
RTC时间是每100毫秒读取的一次
每一分钟运行一次时间修正函数:
void Correct_Time(void)
{
if ( GPS_RMC_Valid == 'A' ) // GPS 定位有效
{
if ( (RTC_Year != GPS_Year) || (RTC_Month != GPS_Month ) || (RTC_Day != GPS_Day) ||
(RTC_Hour != GPS_Hour) || (RTC_Minute != GPS_Minute) || (RTC_Second != GPS_Second) )
{
Set_RTC_DateTime( GPS_Year, GPS_Month, GPS_Day, GPS_Hour, GPS_Minute, GPS_Second );
BKP_WriteBackupRegister(BKP_DR1, BKP_DR1_FLAG); // 写入RTC后备寄存器时间已经修正的标记
printf( "RTC校时成功...%d-%d-%d %d:%d:%d\r\n", RTC_Year, RTC_Month, RTC_Day, RTC_Hour, RTC_Minute, RTC_Second);
printf( "GPS校时成功...%d-%d-%d %d:%d:%d\r\n\r\n", GPS_Year, GPS_Month, GPS_Day, GPS_Hour, GPS_Minute, GPS_Second);
}
GPS_RMC_Valid = 'V';
}
} |
|