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;
}