From 265fb971c091a30c042d908199e08cf7c251d435 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Sat, 16 Dec 2017 17:01:58 +0900 Subject: [PATCH] Fix USART for overrun error. --- contrib/usart-stm32f103.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/contrib/usart-stm32f103.c b/contrib/usart-stm32f103.c index 23d848f..cc9b498 100644 --- a/contrib/usart-stm32f103.c +++ b/contrib/usart-stm32f103.c @@ -423,6 +423,12 @@ handle_intr (struct USART *USARTx, struct rb *rb2a, struct usart_stat *stat) stat->rx++; } } + else if ((r & USART_SR_ORE)) + { /* Clear ORE */ + uint32_t data = USARTx->DR; + asm volatile ("" : : "r" (data) : "memory"); + stat->err_rx_overrun++; + } return tx_ready; }