From fcf274355270b605fb11f6881855fec39410e314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Redon?= Date: Sat, 7 Jul 2018 14:51:35 +0200 Subject: [PATCH] UART: make IRQ/ISR enabling simpler Change-Id: Id3742850eb5bac91559e0c2b4144bd7b1ae5b07b --- firmware/libboard/common/source/uart_console.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/firmware/libboard/common/source/uart_console.c b/firmware/libboard/common/source/uart_console.c index fe649229..90041971 100644 --- a/firmware/libboard/common/source/uart_console.c +++ b/firmware/libboard/common/source/uart_console.c @@ -150,16 +150,12 @@ extern void UART_PutChar( uint8_t c ) } /* Only store input if buffer is not full, else drop it */ - bool trigger_isr = false; - if (rbuf_is_empty(&uart_tx_buffer)) { - trigger_isr = true; - } if (!rbuf_is_full(&uart_tx_buffer)) { rbuf_write(&uart_tx_buffer, c); - } - if (trigger_isr) { - pUart->UART_IER = UART_IER_TXRDY; - CONSOLE_ISR(); + if (!(pUart->UART_IMR & UART_IMR_TXRDY)) { + pUart->UART_IER = UART_IER_TXRDY; + CONSOLE_ISR(); + } } }