WORD SERIAL_COM_Process(WORD _Port)

WORD SERIAL_COM_Process(WORD _Port)
{
 static BYTE Temp[8];
 BYTE *pData;
 WORD_VAL wvTemp;

#if defined(DEBUG_MODEM)  if(_Port == COM1 || _Port == COM2 || _Port == COM5){   if( UART_RxGetNumberBytes(COM1) >= 1 ){    UART_GetData(COM1, Temp, 1);    UART_PutData(COM2, Temp, 1);   }   if( UART_RxGetNumberBytes(COM2) >= 1 ){    UART_GetData(COM2, Temp, 1);    UART_PutData(COM1, Temp, 1);   } #else  if( !Packet.ValidateDataReceive ) {   if(!UART_HeaderComplete(_Port, Temp)){    wvTemp.byte.HB = Temp[6];    wvTemp.byte.LB = Temp[7];    if( UART_RxGetNumberBytes(_Port) < wvTemp.Val ) return ERR_OK;    UART_PacketComplete(_Port);    pData = Packet.bData;    UART_GetData(_Port, pData, wvTemp.Val);    Packet.Sender.byte.HB = Temp[0];    Packet.Sender.byte.LB = Temp[1];    Packet.Receiver.byte.HB = Temp[2];    Packet.Receiver.byte.LB = Temp[3];    Packet.Command.byte.HB = Temp[4];    Packet.Command.byte.LB = Temp[5];    Packet.DataLength.byte.HB = Temp[6];    Packet.DataLength.byte.LB = Temp[7];    Packet.ValidateDataReceive = 1;   } #endif  }  return ERR_OK; }