BOOL API_SetRTCC(BYTE _Year, BYTE _Month, BYTE _Day, BYTE _Hour, BYTE _Minute, BYTE _Second)
BOOL API_SetRTCC(BYTE _Year, BYTE _Month, BYTE _Day, BYTE _Hour, BYTE _Minute, BYTE _Second) { RTCC_STRUCT_TIME StrucTime; RTCC_STRUCT_DATE StrucDate; BYTE Dummy = 0; StrucDate.Year = _Year; StrucDate.Month = _Month; StrucDate.Day = _Day; StrucTime.Hour = _Hour; StrucTime.Minute = _Minute; StrucTime.Second = _Second; StrucTime.Days = RTCC_SDateToTStampDate( StrucDate ); RtccSw.Date = RTCC_TStampDateToSDate( StrucTime.Days ); RtccSw.Time = StrucTime; StrucTime.Thousandth = 0; #if defined(RTCC_SW_DISABLE) EECON2 = 0x55; EECON2 = 0xaa; RTCWREN = 1; RTCEN = 1; RTCPTR0 = 1; RTCPTR1 = 1; RTCVALL = (RtccSw.Date.Year%10) + ((RtccSw.Date.Year/10)<<4); RTCPTR0 = 0; RTCPTR1 = 1; RTCVALL = (RtccSw.Date.Day%10) + ((RtccSw.Date.Day/10)<<4); RTCVALH = (RtccSw.Date.Month%10) + ((RtccSw.Date.Month/10)<<4); RTCPTR0 = 1; RTCPTR1 = 0; RTCVALL = (RtccSw.Time.Hour%10) + ((RtccSw.Time.Hour/10)<<4); RTCVALH = (RtccSw.Date.DayOfWeek%10) + ((RtccSw.Date.DayOfWeek/10)<<4); RTCPTR0 = 0; RTCPTR1 = 0; RTCVALL = (RtccSw.Time.Second%10) + ((RtccSw.Time.Second/10)<<4); RTCVALH = (RtccSw.Time.Minute%10) + ((RtccSw.Time.Minute/10)<<4); EECON2 = 0x55; EECON2 = 0xaa; RTCWREN = 0; #endif return ERR_OK; }