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

Files

file  fsl_usart_dma.h
 

Data Structures

struct  usart_dma_handle_t
 UART DMA handle. More...
 

Typedefs

typedef void(* usart_dma_transfer_callback_t )(USART_Type *base, usart_dma_handle_t *handle, status_t status, void *userData)
 UART transfer callback function. More...
 

Driver version

#define FSL_USART_DMA_DRIVER_VERSION   (MAKE_VERSION(2, 1, 1))
 USART dma driver version 2.1.1. More...
 

DMA transactional

status_t USART_TransferCreateHandleDMA (USART_Type *base, usart_dma_handle_t *handle, usart_dma_transfer_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle)
 Initializes the USART handle which is used in transactional functions. More...
 
status_t USART_TransferSendDMA (USART_Type *base, usart_dma_handle_t *handle, usart_transfer_t *xfer)
 Sends data using DMA. More...
 
status_t USART_TransferReceiveDMA (USART_Type *base, usart_dma_handle_t *handle, usart_transfer_t *xfer)
 Receives data using DMA. More...
 
void USART_TransferAbortSendDMA (USART_Type *base, usart_dma_handle_t *handle)
 Aborts the sent data using DMA. More...
 
void USART_TransferAbortReceiveDMA (USART_Type *base, usart_dma_handle_t *handle)
 Aborts the received data using DMA. More...
 
status_t USART_TransferGetReceiveCountDMA (USART_Type *base, usart_dma_handle_t *handle, uint32_t *count)
 Get the number of bytes that have been received. More...
 

Detailed Description


Data Structure Documentation

struct _usart_dma_handle

Data Fields

USART_Type * base
 UART peripheral base address. More...
 
usart_dma_transfer_callback_t callback
 Callback function. More...
 
void * userData
 UART callback function parameter. More...
 
size_t rxDataSizeAll
 Size of the data to receive. More...
 
size_t txDataSizeAll
 Size of the data to send out. More...
 
dma_handle_ttxDmaHandle
 The DMA TX channel used. More...
 
dma_handle_trxDmaHandle
 The DMA RX channel used. More...
 
volatile uint8_t txState
 TX transfer state. More...
 
volatile uint8_t rxState
 RX transfer state.
 

Field Documentation

USART_Type* usart_dma_handle_t::base
usart_dma_transfer_callback_t usart_dma_handle_t::callback
void* usart_dma_handle_t::userData
size_t usart_dma_handle_t::rxDataSizeAll
size_t usart_dma_handle_t::txDataSizeAll
dma_handle_t* usart_dma_handle_t::txDmaHandle
dma_handle_t* usart_dma_handle_t::rxDmaHandle
volatile uint8_t usart_dma_handle_t::txState

Macro Definition Documentation

#define FSL_USART_DMA_DRIVER_VERSION   (MAKE_VERSION(2, 1, 1))

Typedef Documentation

typedef void(* usart_dma_transfer_callback_t)(USART_Type *base, usart_dma_handle_t *handle, status_t status, void *userData)

Function Documentation

status_t USART_TransferCreateHandleDMA ( USART_Type *  base,
usart_dma_handle_t *  handle,
usart_dma_transfer_callback_t  callback,
void *  userData,
dma_handle_t txDmaHandle,
dma_handle_t rxDmaHandle 
)
Parameters
baseUSART peripheral base address.
handlePointer to usart_dma_handle_t structure.
callbackCallback function.
userDataUser data.
txDmaHandleUser-requested DMA handle for TX DMA transfer.
rxDmaHandleUser-requested DMA handle for RX DMA transfer.
status_t USART_TransferSendDMA ( USART_Type *  base,
usart_dma_handle_t *  handle,
usart_transfer_t xfer 
)

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

Parameters
baseUSART peripheral base address.
handleUSART handle pointer.
xferUSART DMA transfer structure. See usart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_USART_TxBusyPrevious transfer on going.
kStatus_InvalidArgumentInvalid argument.
status_t USART_TransferReceiveDMA ( USART_Type *  base,
usart_dma_handle_t *  handle,
usart_transfer_t xfer 
)

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

Parameters
baseUSART peripheral base address.
handlePointer to usart_dma_handle_t structure.
xferUSART DMA transfer structure. See usart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_USART_RxBusyPrevious transfer on going.
kStatus_InvalidArgumentInvalid argument.
void USART_TransferAbortSendDMA ( USART_Type *  base,
usart_dma_handle_t *  handle 
)

This function aborts send data using DMA.

Parameters
baseUSART peripheral base address
handlePointer to usart_dma_handle_t structure
void USART_TransferAbortReceiveDMA ( USART_Type *  base,
usart_dma_handle_t *  handle 
)

This function aborts the received data using DMA.

Parameters
baseUSART peripheral base address
handlePointer to usart_dma_handle_t structure
status_t USART_TransferGetReceiveCountDMA ( USART_Type *  base,
usart_dma_handle_t *  handle,
uint32_t *  count 
)

This function gets the number of bytes that have been received.

Parameters
baseUSART peripheral base address.
handleUSART handle pointer.
countReceive bytes count.
Return values
kStatus_NoTransferInProgressNo receive in progress.
kStatus_InvalidArgumentParameter is invalid.
kStatus_SuccessGet successfully through the parameter count;