void main(void)
{
while(1)
{
if (PIR1bits.RCIF==1)
{
rxbuffer = RCREG;
RS485RXDATA[RxDataPos++] = rxbuffer;
if (rxbuffer == 0x04)
b485Complete = 1;
}
if (b485Complete == 1)
{
if (HIDTxHandleBusy(USBInHandle) == 0)
{
memset (hid_in, 0, sizeof(hid_in));
byTmp1 = strlen((char*)RS485RXDATA);
hid_report_in[0] = SOH;
memcpy ((void*)&hid_in[1], (void*)&RS485RXDATA[0], byTmp1);
hid_report_in[byTmp1+1] = EOT;
hid_report_in[byTmp1+2] = 0x00;
USBInHandle = HIDTxPacket(HID_EP, (BYTE*)&hid_in, HID_INPUT_REPORT_BYTES); // 64 bytes
b485Complete = 0;
n485RxDataPos = 0;
memset (RS485RXDATA, 0, sizeof(RS485RXDATA));
}
}
}
}