mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #11938 from LMESTM/stm32_serial_clear_rxne
STM32: Update and align serial_clear implementationspull/12019/head
commit
a1cddbae5f
|
|
@ -281,8 +281,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -196,8 +196,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
@ -576,7 +577,7 @@ void serial_rx_abort_asynch(serial_t *obj)
|
|||
|
||||
// clear flags
|
||||
__HAL_UART_CLEAR_FLAG(huart, UART_FLAG_RXNE);
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR; // Clear errors flag
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR; // Clear Rx empty flag
|
||||
|
||||
// reset states
|
||||
huart->RxXferCount = 0;
|
||||
|
|
|
|||
|
|
@ -253,8 +253,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
@ -659,7 +660,7 @@ void serial_rx_abort_asynch(serial_t *obj)
|
|||
|
||||
// clear flags
|
||||
__HAL_UART_CLEAR_FLAG(huart, UART_FLAG_RXNE);
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR; // Clear error flags
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR; // Clear Rx empty flags
|
||||
|
||||
// reset states
|
||||
huart->RxXferCount = 0;
|
||||
|
|
|
|||
|
|
@ -228,7 +228,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
__HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -289,8 +289,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -252,8 +252,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
__HAL_UART_CLEAR_IT(huart, UART_FLAG_TXE);
|
||||
__HAL_UART_CLEAR_IT(huart, UART_FLAG_RXNE);
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -265,8 +265,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
__HAL_UART_CLEAR_IT(huart, UART_FLAG_TXE);
|
||||
__HAL_UART_CLEAR_IT(huart, UART_FLAG_RXNE);
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -222,8 +222,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -222,8 +222,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->DR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -241,8 +241,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
|
|
@ -186,8 +186,9 @@ void serial_clear(serial_t *obj)
|
|||
struct serial_s *obj_s = SERIAL_S(obj);
|
||||
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
|
||||
|
||||
huart->TxXferCount = 0;
|
||||
huart->RxXferCount = 0;
|
||||
/* Clear RXNE and error flags */
|
||||
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR;
|
||||
HAL_UART_ErrorCallback(huart);
|
||||
}
|
||||
|
||||
void serial_break_set(serial_t *obj)
|
||||
|
|
|
|||
Loading…
Reference in New Issue