/** Temporary data variable to hold the byte being received as it is shifted in */
static uint8_t RX_Data;
-/** Initializes the software UART, ready for data transmission and reception into the global ring buffers. */
+/** Initialises the software UART, ready for data transmission and reception into the global ring buffers. */
void SoftUART_Init(void)
{
/* Set TX pin to output high, enable RX pull-up */
TX_Data >>= 1;
TX_BitsRemaining--;
}
- else if (USBtoUART_Buffer.Count && !(RX_BitsRemaining))
+ else if (!(RX_BitsRemaining) && !(RingBuffer_IsEmpty(&USBtoUART_Buffer)))
{
/* Start bit - TX line low */
STXPORT &= ~(1 << STX);