Fixed USART reception overrun corrupting the internal buffers in the USBtoSerial project.

This commit is contained in:
Dean Camera 2014-08-10 19:17:58 +10:00
parent 4c06a9c88f
commit b6899bb987
2 changed files with 2 additions and 1 deletions

View File

@ -24,6 +24,7 @@
* - Library Applications:
* - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen)
* - Fixed blocking USART reads causing low throughput on slow baud rates in the USBtoSerial project (thanks to Nevada Smith)
* - Fixed USART reception overrun corrupting the internal buffers in the USBtoSerial project (thanks to Nevada Smith)
*
* \section Sec_ChangeLog140302 Version 140302
* <b>New:</b>

View File

@ -194,7 +194,7 @@ ISR(USART1_RX_vect, ISR_BLOCK)
{
uint8_t ReceivedByte = UDR1;
if (USB_DeviceState == DEVICE_STATE_Configured)
if ((USB_DeviceState == DEVICE_STATE_Configured) && !(RingBuffer_IsFull(&USARTtoUSB_Buffer)))
RingBuffer_Insert(&USARTtoUSB_Buffer, ReceivedByte);
}