diff --git a/l0/usart/src/usart1.c b/l0/usart/src/usart1.c index 9997595548abff7b76c8cd136abf937cb1e84440..d1e4d8f1891a099372ce9a07592faa00ea000d31 100644 --- a/l0/usart/src/usart1.c +++ b/l0/usart/src/usart1.c @@ -1,5 +1,4 @@ #include "usart1.h" -#include "gpio.h" #define USART USART1 #define USART_ENABLE_CLK __USART1_CLK_ENABLE() @@ -36,6 +35,7 @@ TComm *usart1_comm_dev; void USART_IRQHandler(void) { unsigned char data,ret; + uint32_t source; if(__HAL_UART_GET_IT(&UartHandle, UART_IT_RXNE) != RESET) { @@ -66,31 +66,28 @@ void USART_IRQHandler(void) if(__HAL_UART_GET_IT_SOURCE(&UartHandle, UART_IT_PE) != RESET) { __HAL_UART_CLEAR_IT(&UartHandle, UART_CLEAR_PEF); - gpio_set_led(LED_CHG); } } + source=__HAL_UART_GET_IT_SOURCE(&UartHandle, UART_IT_ERR); if(__HAL_UART_GET_IT(&UartHandle, UART_IT_FE) != RESET)/* framing error */ { - if(__HAL_UART_GET_IT_SOURCE(&UartHandle, UART_IT_ERR) != RESET) + if(source != RESET) { __HAL_UART_CLEAR_IT(&UartHandle, UART_CLEAR_FEF); - gpio_set_led(LED_CHG); } } if(__HAL_UART_GET_IT(&UartHandle, UART_IT_NE) != RESET)/* noise error */ { - if(__HAL_UART_GET_IT_SOURCE(&UartHandle, UART_IT_ERR) != RESET) + if(source != RESET) { __HAL_UART_CLEAR_IT(&UartHandle, UART_CLEAR_NEF); - gpio_set_led(LED_CHG); } } if(__HAL_UART_GET_IT(&UartHandle, UART_IT_ORE) != RESET)/* overrun error */ { - if(__HAL_UART_GET_IT_SOURCE(&UartHandle, UART_IT_ERR) != RESET) + if(source != RESET) { __HAL_UART_CLEAR_IT(&UartHandle, UART_CLEAR_OREF); - gpio_set_led(LED_CHG); } } } @@ -105,7 +102,6 @@ void USART_DMA_IRQHandler(void) __HAL_DMA_DISABLE_IT(UartHandle.hdmatx, DMA_IT_TE); /* Clear the transfer error flag */ __HAL_DMA_CLEAR_FLAG(UartHandle.hdmatx, __HAL_DMA_GET_TE_FLAG_INDEX(UartHandle.hdmatx)); - gpio_set_led(LED_DCHG); } } if(__HAL_DMA_GET_FLAG(UartHandle.hdmatx,__HAL_DMA_GET_TC_FLAG_INDEX(UartHandle.hdmatx)) != RESET) @@ -140,7 +136,6 @@ void USART_DMA_IRQHandler(void) __HAL_DMA_DISABLE_IT(UartHandle.hdmarx, DMA_IT_TE); /* Clear the transfer error flag */ __HAL_DMA_CLEAR_FLAG(UartHandle.hdmarx, __HAL_DMA_GET_TE_FLAG_INDEX(UartHandle.hdmarx)); - gpio_set_led(LED_DCHG); } } if(__HAL_DMA_GET_FLAG(UartHandle.hdmarx,__HAL_DMA_GET_TC_FLAG_INDEX(UartHandle.hdmarx)) != RESET)