diff options
author | Kévin Redon <kredon@sysmocom.de> | 2018-07-07 14:51:35 +0200 |
---|---|---|
committer | Kévin Redon <kredon@sysmocom.de> | 2018-07-07 14:51:35 +0200 |
commit | fcf274355270b605fb11f6881855fec39410e314 (patch) | |
tree | 4775b2e9caa41b1bebd3f729642ed80a240ae140 /firmware/libboard | |
parent | d44cb80bc59681259f14d4d9c768edf40f892304 (diff) |
UART: make IRQ/ISR enabling simpler
Change-Id: Id3742850eb5bac91559e0c2b4144bd7b1ae5b07b
Diffstat (limited to 'firmware/libboard')
-rw-r--r-- | firmware/libboard/common/source/uart_console.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/firmware/libboard/common/source/uart_console.c b/firmware/libboard/common/source/uart_console.c index fe64922..9004197 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();
+ }
}
}
|