Altered the CDC Deivice and Host Class drivers' receive byte routines, so that no...
[pub/USBasp.git] / Demos / Device / ClassDriver / DualVirtualSerial / DualVirtualSerial.c
index cc8f92c..53d7ce9 100644 (file)
@@ -101,12 +101,12 @@ int main(void)
                CheckJoystickMovement();
 
                /* Discard all received data on the first CDC interface */
-               while (CDC_Device_BytesReceived(&VirtualSerial1_CDC_Interface))
-                 CDC_Device_ReceiveByte(&VirtualSerial1_CDC_Interface);
+               CDC_Device_ReceiveByte(&VirtualSerial1_CDC_Interface);
 
                /* Echo all received data on the second CDC interface */
-               while (CDC_Device_BytesReceived(&VirtualSerial2_CDC_Interface))
-                 CDC_Device_SendByte(&VirtualSerial2_CDC_Interface, CDC_Device_ReceiveByte(&VirtualSerial2_CDC_Interface));
+               int16_t ReceivedByte; = CDC_Device_ReceiveByte(&VirtualSerial2_CDC_Interface);
+               if (!(ReceivedByte < 0))
+                 CDC_Device_SendByte(&VirtualSerial2_CDC_Interface, (uint8_t)ReceivedByte);
                  
                CDC_Device_USBTask(&VirtualSerial1_CDC_Interface);
                CDC_Device_USBTask(&VirtualSerial2_CDC_Interface);