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