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

Data Structures

struct  flexio_uart_dma_handle_t
 UART DMA handle. More...
 

Typedefs

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

Driver version

#define FSL_FLEXIO_UART_DMA_DRIVER_VERSION   (MAKE_VERSION(2, 1, 6))
 FlexIO UART DMA driver version 2.1.6. More...
 

eDMA transactional

status_t FLEXIO_UART_TransferCreateHandleDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, flexio_uart_dma_transfer_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle)
 Initializes the FLEXIO_UART handle which is used in transactional functions. More...
 
status_t FLEXIO_UART_TransferSendDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, flexio_uart_transfer_t *xfer)
 Sends data using DMA. More...
 
status_t FLEXIO_UART_TransferReceiveDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, flexio_uart_transfer_t *xfer)
 Receives data using DMA. More...
 
void FLEXIO_UART_TransferAbortSendDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle)
 Aborts the sent data which using DMA. More...
 
void FLEXIO_UART_TransferAbortReceiveDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle)
 Aborts the receive data which using DMA. More...
 
status_t FLEXIO_UART_TransferGetSendCountDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, size_t *count)
 Gets the number of bytes sent out. More...
 
status_t FLEXIO_UART_TransferGetReceiveCountDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, size_t *count)
 Gets the number of bytes received. More...
 

Detailed Description


Data Structure Documentation

struct _flexio_uart_dma_handle

Data Fields

flexio_uart_dma_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...
 
dma_handle_t * txDmaHandle
 The DMA TX channel used. More...
 
dma_handle_t * rxDmaHandle
 The DMA RX channel used. More...
 
volatile uint8_t txState
 TX transfer state. More...
 
volatile uint8_t rxState
 RX transfer state.
 

Field Documentation

flexio_uart_dma_transfer_callback_t flexio_uart_dma_handle_t::callback
void* flexio_uart_dma_handle_t::userData
size_t flexio_uart_dma_handle_t::txDataSizeAll
size_t flexio_uart_dma_handle_t::rxDataSizeAll
dma_handle_t* flexio_uart_dma_handle_t::txDmaHandle
dma_handle_t* flexio_uart_dma_handle_t::rxDmaHandle
volatile uint8_t flexio_uart_dma_handle_t::txState

Macro Definition Documentation

#define FSL_FLEXIO_UART_DMA_DRIVER_VERSION   (MAKE_VERSION(2, 1, 6))

Typedef Documentation

typedef void(* flexio_uart_dma_transfer_callback_t)(FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, status_t status, void *userData)

Function Documentation

status_t FLEXIO_UART_TransferCreateHandleDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
flexio_uart_dma_transfer_callback_t  callback,
void *  userData,
dma_handle_t *  txDmaHandle,
dma_handle_t *  rxDmaHandle 
)
Parameters
basePointer to FLEXIO_UART_Type structure.
handlePointer to flexio_uart_dma_handle_t structure.
callbackFlexIO UART callback, NULL means no callback.
userDataUser callback function data.
txDmaHandleUser requested DMA handle for TX DMA transfer.
rxDmaHandleUser requested DMA handle for RX DMA transfer.
Return values
kStatus_SuccessSuccessfully create the handle.
kStatus_OutOfRangeThe FlexIO UART DMA type/handle table out of range.
status_t FLEXIO_UART_TransferSendDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
flexio_uart_transfer_t xfer 
)

This function send data using DMA. This is 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 structure
handlePointer to flexio_uart_dma_handle_t structure
xferFLEXIO_UART DMA 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_TransferReceiveDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
flexio_uart_transfer_t xfer 
)

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

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
xferFLEXIO_UART DMA transfer structure, see flexio_uart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_FLEXIO_UART_RxBusyPrevious transfer on going.
void FLEXIO_UART_TransferAbortSendDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle 
)

This function aborts the sent data which using DMA.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
void FLEXIO_UART_TransferAbortReceiveDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle 
)

This function aborts the receive data which using DMA.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
status_t FLEXIO_UART_TransferGetSendCountDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
size_t *  count 
)

This function gets the number of bytes sent out.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_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_TransferGetReceiveCountDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
size_t *  count 
)

This function gets the number of bytes received.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_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.