diff options
| author | ItsEddy <[email protected]> | 2015-04-07 20:37:59 +0800 |
|---|---|---|
| committer | ItsEddy <[email protected]> | 2015-04-07 21:09:22 +0800 |
| commit | ced7d5a34fca3a910497ab472290e357fb48df85 (patch) | |
| tree | 4de4b74ac4a33c28541d74e13abbaf275bf5585b | |
| parent | a3919b90fe655ae25f0f932fc10e445960349dc2 (diff) | |
[DeviceDriver] stm32: Remove explicity clear of RXNE flag
According to STM32 Manual, the USART RXNE flag will be clear automatically after
read to the USART_DR register[1], so the call to USART_ClearITPendingBit is
unnecessary.
[1]: See RM0090 Reference Manual p.992, Bit 5
| -rw-r--r-- | bsp/stm32f0x/drivers/usart.c | 4 | ||||
| -rw-r--r-- | bsp/stm32f40x/drivers/usart.c | 6 |
2 files changed, 0 insertions, 10 deletions
diff --git a/bsp/stm32f0x/drivers/usart.c b/bsp/stm32f0x/drivers/usart.c index 7a7d3a8230..1f6fbab7a2 100644 --- a/bsp/stm32f0x/drivers/usart.c +++ b/bsp/stm32f0x/drivers/usart.c @@ -152,8 +152,6 @@ void USART1_IRQHandler(void) if(USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET) { rt_hw_serial_isr(&serial1, RT_SERIAL_EVENT_RX_IND); - /* clear interrupt */ - USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE); } if (USART_GetITStatus(uart->uart_device, USART_IT_TC) != RESET) { @@ -186,8 +184,6 @@ void USART2_IRQHandler(void) if(USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET) { rt_hw_serial_isr(&serial2, RT_SERIAL_EVENT_RX_IND); - /* clear interrupt */ - USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE); } if (USART_GetITStatus(uart->uart_device, USART_IT_TC) != RESET) { diff --git a/bsp/stm32f40x/drivers/usart.c b/bsp/stm32f40x/drivers/usart.c index 2b21748ac2..b14b2945e4 100644 --- a/bsp/stm32f40x/drivers/usart.c +++ b/bsp/stm32f40x/drivers/usart.c @@ -177,8 +177,6 @@ void USART1_IRQHandler(void) if (USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET) { rt_hw_serial_isr(&serial1, RT_SERIAL_EVENT_RX_IND); - /* clear interrupt */ - USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE); } if (USART_GetITStatus(uart->uart_device, USART_IT_TC) != RESET) { @@ -211,8 +209,6 @@ void USART2_IRQHandler(void) if (USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET) { rt_hw_serial_isr(&serial2, RT_SERIAL_EVENT_RX_IND); - /* clear interrupt */ - USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE); } if (USART_GetITStatus(uart->uart_device, USART_IT_TC) != RESET) { @@ -245,8 +241,6 @@ void USART3_IRQHandler(void) if (USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET) { rt_hw_serial_isr(&serial3, RT_SERIAL_EVENT_RX_IND); - /* clear interrupt */ - USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE); } if (USART_GetITStatus(uart->uart_device, USART_IT_TC) != RESET) { |
