void GSM_TimeSynch(BYTE i)

void GSM_TimeSynch(BYTE i)
{
 REAL_TIME mRtcc;
 BYTE Year, Month, Day, Hour, Minute, Second;
 RTCC_TIME_STAMP  TStamp;
 DWORD dwTemp, dwTemp2;

 bTemp[0] = Gsm.ReceiveData[i];  bTemp[1] = Gsm.ReceiveData[i+1];  bTemp[2] = '\0';  Year = (BYTE)atoi(bTemp);  bTemp[0] = Gsm.ReceiveData[i+3];  bTemp[1] = Gsm.ReceiveData[i+4];  bTemp[2] = '\0';  Month = (BYTE)atoi(bTemp);  bTemp[0] = Gsm.ReceiveData[i+6];  bTemp[1] = Gsm.ReceiveData[i+7];  bTemp[2] = '\0';  Day = (BYTE)atoi(bTemp);  bTemp[0] = Gsm.ReceiveData[i+9];  bTemp[1] = Gsm.ReceiveData[i+10];  bTemp[2] = '\0';  Hour = (BYTE)atoi(bTemp);  bTemp[0] = Gsm.ReceiveData[i+12];  bTemp[1] = Gsm.ReceiveData[i+13];  bTemp[2] = '\0';  Minute = (BYTE)atoi(bTemp);  bTemp[0] = Gsm.ReceiveData[i+15];  bTemp[1] = Gsm.ReceiveData[i+16];  bTemp[2] = '\0';  Second = (BYTE)atoi(bTemp);  mRtcc.Date.Year = Year;  mRtcc.Date.Month = Month;  mRtcc.Date.Day = Day;  mRtcc.Time.Hour = Hour;  mRtcc.Time.Minute = Minute;  mRtcc.Time.Second = Second;  TStamp = RTCC_StructToTimeStamp( mRtcc );  dwTemp = TStamp.Date.Val * 24 + (TStamp.Time.Val / 60/60); //hodiny  dwTemp2 = TStamp.Time.Val / 60/60;  dwTemp2 = TStamp.Time.Val - dwTemp2 * 60 * 60;  bTemp[0] = Gsm.ReceiveData[i+18];  bTemp[1] = Gsm.ReceiveData[i+19];  bTemp[2] = '\0';  if(Gsm.ReceiveData[i+17] == '-') dwTemp -= (atoi(bTemp) / 4);  else dwTemp += (atoi(bTemp) / 4);  TStamp.Date.Val = dwTemp/24;  TStamp.Time.Val = 3600 * (dwTemp - TStamp.Date.Val * 24) + dwTemp2; //sec  mRtcc = RTCC_TimeStampToStruct( TStamp );  Year = mRtcc.Date.Year;  Month = mRtcc.Date.Month;  Day = mRtcc.Date.Day;  Hour = mRtcc.Time.Hour;  Minute = mRtcc.Time.Minute;  Second = mRtcc.Time.Second;  API_SetRTCC(Year, Month, Day, Hour, Minute, Second);  ModemGsm.Signal.Control.TimeSynchro = TRUE;  AppFlag.bits.start = TRUE;  OsSocket.TickTask[RTX_MODEM_WATCHDOG] = TickRtccGet();  OsSocket.TickTask[RTX_DISPLAY_SHOW] = TickRtccGet();  OsSocket.TickTask[RTX_DISPLAY_ALARM] = TickRtccGet(); }