MCUXpresso: Provide an API to wait till TX complete

Wait till the data is flushed out of TX buffer

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
pull/10796/head
Mahesh Mahadevan 2019-08-01 13:49:27 -05:00
parent 75608f6db2
commit eaace297dc
11 changed files with 110 additions and 0 deletions

View File

@ -340,4 +340,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
UART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kUART_TransmissionCompleteFlag & UART_GetStatusFlags((UART_Type *)base)))
{
}
}
#endif

View File

@ -332,4 +332,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
LPUART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags((LPUART_Type *)base)))
{
}
}
#endif

View File

@ -288,4 +288,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
LPUART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags((LPUART_Type *)base)))
{
}
}
#endif

View File

@ -300,4 +300,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
LPUART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags((LPUART_Type *)base)))
{
}
}
#endif

View File

@ -328,4 +328,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
LPUART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags((LPUART_Type *)base)))
{
}
}
#endif

View File

@ -327,4 +327,14 @@ void serial_set_flow_control(serial_t *obj, FlowControl type, PinName rxflow, Pi
#endif
void serial_wait_tx_complete(uint32_t uart_index)
{
UART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kUART_TransmissionCompleteFlag & UART_GetStatusFlags((UART_Type *)base)))
{
}
}
#endif

View File

@ -282,4 +282,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
LPUART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags((LPUART_Type *)base)))
{
}
}
#endif

View File

@ -302,4 +302,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
UART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kUART_TransmissionCompleteFlag & UART_GetStatusFlags((UART_Type *)base)))
{
}
}
#endif

View File

@ -723,4 +723,14 @@ void serial_rx_abort_asynch(serial_t *obj)
}
}
void serial_wait_tx_complete(uint32_t uart_index)
{
UART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kUART_TransmissionCompleteFlag & UART_GetStatusFlags((UART_Type *)base)))
{
}
}
#endif

View File

@ -731,4 +731,14 @@ void serial_rx_abort_asynch(serial_t *obj)
}
}
void serial_wait_tx_complete(uint32_t uart_index)
{
UART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kUART_TransmissionCompleteFlag & UART_GetStatusFlags((UART_Type *)base)))
{
}
}
#endif

View File

@ -316,4 +316,14 @@ const PinMap *serial_rts_pinmap()
return PinMap_UART_RTS;
}
void serial_wait_tx_complete(uint32_t uart_index)
{
LPUART_Type *base = uart_addrs[uart_index];
/* Wait till data is flushed out of transmit buffer */
while (!(kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags((LPUART_Type *)base)))
{
}
}
#endif