From 71930b0995370c05fc10dd58042d7ccaf1cc6f50 Mon Sep 17 00:00:00 2001 From: bernard Date: Sun, 25 Jan 2015 16:41:05 +0800 Subject: [PATCH] [BSP] Fix the interrupt issue in USART driver of STM32F4. --- bsp/stm32f40x/drivers/usart.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bsp/stm32f40x/drivers/usart.c b/bsp/stm32f40x/drivers/usart.c index 24e834a789..2b21748ac2 100644 --- a/bsp/stm32f40x/drivers/usart.c +++ b/bsp/stm32f40x/drivers/usart.c @@ -89,8 +89,6 @@ static rt_err_t stm32_configure(struct rt_serial_device *serial, struct serial_c /* Enable USART */ USART_Cmd(uart->uart_device, ENABLE); - /* enable interrupt */ - USART_ITConfig(uart->uart_device, USART_IT_RXNE, ENABLE); return RT_EOK; } @@ -107,10 +105,14 @@ static rt_err_t stm32_control(struct rt_serial_device *serial, int cmd, void *ar case RT_DEVICE_CTRL_CLR_INT: /* disable rx irq */ UART_DISABLE_IRQ(uart->irq); + /* disable interrupt */ + USART_ITConfig(uart->uart_device, USART_IT_RXNE, DISABLE); break; case RT_DEVICE_CTRL_SET_INT: /* enable rx irq */ UART_ENABLE_IRQ(uart->irq); + /* enable interrupt */ + USART_ITConfig(uart->uart_device, USART_IT_RXNE, ENABLE); break; } -- GitLab