void Init_Rtc(void) { RTCCTL01 = RTCBCD + RTCHOLD + RTCMODE + RTCTEV_0 ;// BCD码日历格式输出 RTCPS0CTL = RT0PSHOLD ; //配置两个计数器分频 RTCPS1CTL = RT1PSHOLD ; if(RTCYEAR<0x2015||RTCYEAR>0x2050) { RTCSEC = g_now.Sec; //初始化秒 RTCMIN = g_now.Min ; //初始化分钟 RTCHOUR =g_now.Hour; //初始化小时 RTCDOW = 0X04 ; RTCDAY = g_now.Day; //日期初始化 RTCMON = g_now.Month ; //初始化月份 RTCYEAR = g_now.Year; //初始化年份 } RTCCTL01 &= ~RTCHOLD; //打开RTC模块 RTCPS0CTL &= ~RT0PSHOLD; //打开RTCPS0CTL RTCPS1CTL &= ~RT1PSHOLD; //打开RTCPS1CTL RTCCTL0 |= RTCAIE; RTCCTL1 &= ~(RTCHOLD); } |