X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Fser_stm32.c;h=8a0ae8a31e81abc3e20f9e70dececa0dcbc84106;hb=34e7bdf2eff0873117cbb36d4fd4ea7e8d62bc3d;hp=6fdcf312feda3f98e354f894b38a69471e313e40;hpb=86744069b05fd2c01b09f5dd0c36fc4c9cae5c8c;p=bertos.git diff --git a/bertos/cpu/cortex-m3/drv/ser_stm32.c b/bertos/cpu/cortex-m3/drv/ser_stm32.c index 6fdcf312..8a0ae8a3 100644 --- a/bertos/cpu/cortex-m3/drv/ser_stm32.c +++ b/bertos/cpu/cortex-m3/drv/ser_stm32.c @@ -233,6 +233,11 @@ static void uart_common_irq_handler(int port) /* Read and clear the IRQ status */ status = base->SR; + + /* Check hw errors */ + ser_handles[port]->status = status & + (BV(SR_ORE) | BV(SR_FE) | BV(SR_PE) | BV(SR_NE)); + /* Process the IRQ */ if (status & BV(CR1_RXNEIE)) {