MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
FlexIO eDMA UART Driver

Overview

Data Structures

struct  flexio_uart_edma_handle_t
 UART eDMA handle. More...
 

Typedefs

typedef void(* flexio_uart_edma_transfer_callback_t )(FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, status_t status, void *userData)
 UART transfer callback function. More...
 

eDMA transactional

status_t FLEXIO_UART_TransferCreateHandleEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, flexio_uart_edma_transfer_callback_t callback, void *userData, edma_handle_t *txEdmaHandle, edma_handle_t *rxEdmaHandle)
 Initializes the UART handle which is used in transactional functions. More...
 
status_t FLEXIO_UART_TransferSendEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, flexio_uart_transfer_t *xfer)
 Sends data using eDMA. More...
 
status_t FLEXIO_UART_TransferReceiveEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, flexio_uart_transfer_t *xfer)
 Receives data using eDMA. More...
 
void FLEXIO_UART_TransferAbortSendEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle)
 Aborts the sent data which using eDMA. More...
 
void FLEXIO_UART_TransferAbortReceiveEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle)
 Aborts the receive data which using eDMA. More...
 
status_t FLEXIO_UART_TransferGetSendCountEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, size_t *count)
 Gets the number of bytes sent out. More...
 
status_t FLEXIO_UART_TransferGetReceiveCountEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, size_t *count)
 Gets the number of bytes received. More...
 

Data Structure Documentation

struct _flexio_uart_edma_handle

Data Fields

flexio_uart_edma_transfer_callback_t callback
 Callback function. More...
 
void * userData
 UART callback function parameter. More...
 
size_t txDataSizeAll
 Total bytes to be sent. More...
 
size_t rxDataSizeAll
 Total bytes to be received. More...
 
edma_handle_ttxEdmaHandle
 The eDMA TX channel used. More...
 
edma_handle_trxEdmaHandle
 The eDMA RX channel used. More...
 
uint8_t nbytes
 eDMA minor byte transfer count initially configured. More...
 
volatile uint8_t txState
 TX transfer state. More...
 
volatile uint8_t rxState
 RX transfer state.
 

Field Documentation

flexio_uart_edma_transfer_callback_t flexio_uart_edma_handle_t::callback
void* flexio_uart_edma_handle_t::userData
size_t flexio_uart_edma_handle_t::txDataSizeAll
size_t flexio_uart_edma_handle_t::rxDataSizeAll
edma_handle_t* flexio_uart_edma_handle_t::txEdmaHandle
edma_handle_t* flexio_uart_edma_handle_t::rxEdmaHandle
uint8_t flexio_uart_edma_handle_t::nbytes
volatile uint8_t flexio_uart_edma_handle_t::txState

Typedef Documentation

typedef void(* flexio_uart_edma_transfer_callback_t)(FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, status_t status, void *userData)

Function Documentation

status_t FLEXIO_UART_TransferCreateHandleEDMA ( FLEXIO_UART_Type base,
flexio_uart_edma_handle_t *  handle,
flexio_uart_edma_transfer_callback_t  callback,
void *  userData,
edma_handle_t txEdmaHandle,
edma_handle_t rxEdmaHandle 
)
Parameters
basePointer to FLEXIO_UART_Type.
handlePointer to flexio_uart_edma_handle_t structure.
callbackThe callback function.
userDataThe parameter of the callback function.
rxEdmaHandleUser requested DMA handle for RX DMA transfer.
txEdmaHandleUser requested DMA handle for TX DMA transfer.
Return values
kStatus_SuccessSuccessfully create the handle.
kStatus_OutOfRangeThe FlexIO SPI eDMA type/handle table out of range.
status_t FLEXIO_UART_TransferSendEDMA ( FLEXIO_UART_Type base,
flexio_uart_edma_handle_t *  handle,
flexio_uart_transfer_t xfer 
)

This function sends data using eDMA. This is a non-blocking function, which returns right away. When all data is sent out, the send callback function is called.

Parameters
basePointer to FLEXIO_UART_Type
handleUART handle pointer.
xferUART eDMA transfer structure, see flexio_uart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_FLEXIO_UART_TxBusyPrevious transfer on going.
status_t FLEXIO_UART_TransferReceiveEDMA ( FLEXIO_UART_Type base,
flexio_uart_edma_handle_t *  handle,
flexio_uart_transfer_t xfer 
)

This function receives data using eDMA. This is a non-blocking function, which returns right away. When all data is received, the receive callback function is called.

Parameters
basePointer to FLEXIO_UART_Type
handlePointer to flexio_uart_edma_handle_t structure
xferUART eDMA transfer structure, see flexio_uart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_UART_RxBusyPrevious transfer on going.
void FLEXIO_UART_TransferAbortSendEDMA ( FLEXIO_UART_Type base,
flexio_uart_edma_handle_t *  handle 
)

This function aborts sent data which using eDMA.

Parameters
basePointer to FLEXIO_UART_Type
handlePointer to flexio_uart_edma_handle_t structure
void FLEXIO_UART_TransferAbortReceiveEDMA ( FLEXIO_UART_Type base,
flexio_uart_edma_handle_t *  handle 
)

This function aborts the receive data which using eDMA.

Parameters
basePointer to FLEXIO_UART_Type
handlePointer to flexio_uart_edma_handle_t structure
status_t FLEXIO_UART_TransferGetSendCountEDMA ( FLEXIO_UART_Type base,
flexio_uart_edma_handle_t *  handle,
size_t *  count 
)

This function gets the number of bytes sent out.

Parameters
basePointer to FLEXIO_UART_Type
handlePointer to flexio_uart_edma_handle_t structure
countNumber of bytes sent so far by the non-blocking transaction.
Return values
kStatus_NoTransferInProgresstransfer has finished or no transfer in progress.
kStatus_SuccessSuccessfully return the count.
status_t FLEXIO_UART_TransferGetReceiveCountEDMA ( FLEXIO_UART_Type base,
flexio_uart_edma_handle_t *  handle,
size_t *  count 
)

This function gets the number of bytes received.

Parameters
basePointer to FLEXIO_UART_Type
handlePointer to flexio_uart_edma_handle_t structure
countNumber of bytes received so far by the non-blocking transaction.
Return values
kStatus_NoTransferInProgresstransfer has finished or no transfer in progress.
kStatus_SuccessSuccessfully return the count.