Fixed Benito project discarding incoming data from the USB virtual serial port when...
[pub/USBasp.git] / Projects / Benito / Benito.c
index 0e6eacb..fbb8184 100644 (file)
@@ -92,10 +92,9 @@ int main(void)
        for (;;)
        {
                /* Echo bytes from the host to the target via the hardware USART */
        for (;;)
        {
                /* Echo bytes from the host to the target via the hardware USART */
-               int16_t ReceivedByte = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
-               if (!(ReceivedByte < 0) && (UCSR1A & (1 << UDRE1)))
+               if ((UCSR1A & (1 << UDRE1)) && CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface))
                {
                {
-                       UDR1 = ReceivedByte;
+                       UDR1 = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
 
                        LEDs_TurnOnLEDs(LEDMASK_TX);
                        PulseMSRemaining.TxLEDPulse = TX_RX_LED_PULSE_MS;
 
                        LEDs_TurnOnLEDs(LEDMASK_TX);
                        PulseMSRemaining.TxLEDPulse = TX_RX_LED_PULSE_MS;