diff --git a/cpu/sam0_common/periph/uart.c b/cpu/sam0_common/periph/uart.c index ee3fb5cddd13b6a8e4aaa8273a0aca22596be08f..81997898286864d9fdd363ed60509925d545c967 100644 --- a/cpu/sam0_common/periph/uart.c +++ b/cpu/sam0_common/periph/uart.c @@ -121,8 +121,8 @@ void uart_write(uart_t uart, const uint8_t *data, size_t len) for (size_t i = 0; i < len; i++) { while (!(dev(uart)->INTFLAG.reg & SERCOM_USART_INTFLAG_DRE)) {} dev(uart)->DATA.reg = data[i]; - while (dev(uart)->INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) {} } + while (!(dev(uart)->INTFLAG.reg & SERCOM_USART_INTFLAG_TXC)) {} } void uart_poweron(uart_t uart)