1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-16 21:05:35 +03:00

UART1 - Fix interrupt race condition which resulted in UART randomly

stopping transmission of data.
This commit is contained in:
Dominic Clifton 2014-12-13 19:45:02 +00:00
parent 9cc7a5aab1
commit e8dbb77db5

View file

@ -254,9 +254,11 @@ uint8_t uartRead(serialPort_t *instance)
void uartWrite(serialPort_t *instance, uint8_t ch)
{
uartPort_t *s = (uartPort_t *)instance;
s->port.txBuffer[s->port.txBufferHead++] = ch;
if (s->port.txBufferHead >= s->port.txBufferSize) {
s->port.txBuffer[s->port.txBufferHead] = ch;
if (s->port.txBufferHead + 1 >= s->port.txBufferSize) {
s->port.txBufferHead = 0;
} else {
s->port.txBufferHead++;
}
if (s->txDMAChannel) {