diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2014-07-15 21:23:51 +1000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2014-07-15 21:23:51 +1000 |
commit | d90ef9aa2f97a5f8b5fd2cf0bd9564025d069f6e (patch) | |
tree | 0d740956f1eba512331ba0a962a9fa4d211366ae | |
parent | 3d818fbb86ddb648c6df4d9389dc025510a169b6 (diff) | |
download | lufa-d90ef9aa2f97a5f8b5fd2cf0bd9564025d069f6e.tar.gz lufa-d90ef9aa2f97a5f8b5fd2cf0bd9564025d069f6e.tar.bz2 lufa-d90ef9aa2f97a5f8b5fd2cf0bd9564025d069f6e.zip |
Only deque from the USBtoSerial's USB->USART buffer when the USART is idle.
-rw-r--r-- | LUFA/DoxygenPages/ChangeLog.txt | 1 | ||||
-rw-r--r-- | Projects/USBtoSerial/USBtoSerial.c | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index a03d389b4..e16fcbec1 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -22,6 +22,7 @@ * - Fixed missing HID report ID prefix on HID class driver GetReport request responses (thanks to Bert van Hall) * - 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) * * \section Sec_ChangeLog140302 Version 140302 * <b>New:</b> diff --git a/Projects/USBtoSerial/USBtoSerial.c b/Projects/USBtoSerial/USBtoSerial.c index 1c791d95d..b51c7c258 100644 --- a/Projects/USBtoSerial/USBtoSerial.c +++ b/Projects/USBtoSerial/USBtoSerial.c @@ -133,8 +133,8 @@ int main(void) } } - /* Load the next byte from the USART transmit buffer into the USART */ - if (!(RingBuffer_IsEmpty(&USBtoUSART_Buffer))) + /* Load the next byte from the USART transmit buffer into the USART if transmit buffer space is available */ + if (Serial_IsSendReady() && !(RingBuffer_IsEmpty(&USBtoUSART_Buffer))) Serial_SendByte(RingBuffer_Remove(&USBtoUSART_Buffer)); CDC_Device_USBTask(&VirtualSerial_CDC_Interface); |