Skip to content

Commit cd9a01c

Browse files
committed
Fix UART error callback (clear flags and restart receive IT) (2/2)
Signed-off-by: Frederic Pillon <[email protected]>
1 parent 896d988 commit cd9a01c

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

cores/arduino/stm32/uart.c

+4-6
Original file line numberDiff line numberDiff line change
@@ -784,16 +784,15 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
784784
*/
785785
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
786786
{
787-
volatile uint32_t tmpval;
788787
#if defined(STM32F1xx) || defined(STM32F2xx) || defined(STM32F4xx) || defined(STM32L1xx)
789788
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_PE) != RESET) {
790-
tmpval = huart->Instance->DR; /* Clear PE flag */
789+
__HAL_UART_CLEAR_PEFLAG(huart); /* Clear PE flag */
791790
} else if (__HAL_UART_GET_FLAG(huart, UART_FLAG_FE) != RESET) {
792-
tmpval = huart->Instance->DR; /* Clear FE flag */
791+
__HAL_UART_CLEAR_FEFLAG(huart); /* Clear FE flag */
793792
} else if (__HAL_UART_GET_FLAG(huart, UART_FLAG_NE) != RESET) {
794-
tmpval = huart->Instance->DR; /* Clear NE flag */
793+
__HAL_UART_CLEAR_NEFLAG(huart); /* Clear NE flag */
795794
} else if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) != RESET) {
796-
tmpval = huart->Instance->DR; /* Clear ORE flag */
795+
__HAL_UART_CLEAR_OREFLAG(huart); /* Clear ORE flag */
797796
}
798797
#else
799798
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_PE) != RESET) {
@@ -814,7 +813,6 @@ void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
814813
HAL_UART_Receive_IT(uart_handlers[obj->index], &(obj->recv), 1);
815814
}
816815
}
817-
UNUSED(tmpval);
818816
}
819817

820818
/**

0 commit comments

Comments
 (0)