|
@@ -69,8 +69,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;
|
|
|
}
|
|
@@ -84,13 +82,19 @@ static rt_err_t stm32_control(struct rt_serial_device *serial, int cmd, void *ar
|
|
|
|
|
|
switch (cmd)
|
|
|
{
|
|
|
+ /* disable interrupt */
|
|
|
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;
|
|
|
+ /* enable interrupt */
|
|
|
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;
|
|
|
}
|
|
|
|