summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorItsEddy <[email protected]>2015-04-07 20:37:59 +0800
committerItsEddy <[email protected]>2015-04-07 21:09:22 +0800
commitced7d5a34fca3a910497ab472290e357fb48df85 (patch)
tree4de4b74ac4a33c28541d74e13abbaf275bf5585b
parenta3919b90fe655ae25f0f932fc10e445960349dc2 (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.c4
-rw-r--r--bsp/stm32f40x/drivers/usart.c6
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)
{