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

Overview

Data Structures

struct  lpuart_dma_handle_t
 LPUART DMA handle. More...
 

Typedefs

typedef void(* lpuart_dma_transfer_callback_t )(LPUART_Type *base, lpuart_dma_handle_t *handle, status_t status, void *userData)
 LPUART transfer callback function. More...
 

Driver version

#define FSL_LPUART_DMA_DRIVER_VERSION   (MAKE_VERSION(2, 2, 8))
 LPUART DMA driver version 2.2.8. More...
 

EDMA transactional

void LPUART_TransferCreateHandleDMA (LPUART_Type *base, lpuart_dma_handle_t *handle, lpuart_dma_transfer_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle)
 Initializes the LPUART handle which is used in transactional functions. More...
 
status_t LPUART_TransferSendDMA (LPUART_Type *base, lpuart_dma_handle_t *handle, lpuart_transfer_t *xfer)
 Sends data using DMA. More...
 
status_t LPUART_TransferReceiveDMA (LPUART_Type *base, lpuart_dma_handle_t *handle, lpuart_transfer_t *xfer)
 Receives data using DMA. More...
 
void LPUART_TransferAbortSendDMA (LPUART_Type *base, lpuart_dma_handle_t *handle)
 Aborts the sent data using DMA. More...
 
void LPUART_TransferAbortReceiveDMA (LPUART_Type *base, lpuart_dma_handle_t *handle)
 Aborts the received data using DMA. More...
 
status_t LPUART_TransferGetSendCountDMA (LPUART_Type *base, lpuart_dma_handle_t *handle, uint32_t *count)
 Gets the number of bytes written to the LPUART TX register. More...
 
status_t LPUART_TransferGetReceiveCountDMA (LPUART_Type *base, lpuart_dma_handle_t *handle, uint32_t *count)
 Gets the number of received bytes. More...
 

Data Structure Documentation

struct _lpuart_dma_handle

Data Fields

lpuart_dma_transfer_callback_t callback
 Callback function. More...
 
void * userData
 LPUART 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_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

lpuart_dma_transfer_callback_t lpuart_dma_handle_t::callback
void* lpuart_dma_handle_t::userData
size_t lpuart_dma_handle_t::rxDataSizeAll
size_t lpuart_dma_handle_t::txDataSizeAll
dma_handle_t* lpuart_dma_handle_t::txDmaHandle
dma_handle_t* lpuart_dma_handle_t::rxDmaHandle
volatile uint8_t lpuart_dma_handle_t::txState

Macro Definition Documentation

#define FSL_LPUART_DMA_DRIVER_VERSION   (MAKE_VERSION(2, 2, 8))

Typedef Documentation

typedef void(* lpuart_dma_transfer_callback_t)(LPUART_Type *base, lpuart_dma_handle_t *handle, status_t status, void *userData)

Function Documentation

void LPUART_TransferCreateHandleDMA ( LPUART_Type *  base,
lpuart_dma_handle_t *  handle,
lpuart_dma_transfer_callback_t  callback,
void *  userData,
dma_handle_t *  txDmaHandle,
dma_handle_t *  rxDmaHandle 
)
Parameters
baseLPUART peripheral base address.
handlePointer to lpuart_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 LPUART_TransferSendDMA ( LPUART_Type *  base,
lpuart_dma_handle_t *  handle,
lpuart_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
baseLPUART peripheral base address.
handleLPUART handle pointer.
xferLPUART DMA transfer structure. See lpuart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_LPUART_TxBusyPrevious transfer on going.
kStatus_InvalidArgumentInvalid argument.
status_t LPUART_TransferReceiveDMA ( LPUART_Type *  base,
lpuart_dma_handle_t *  handle,
lpuart_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
baseLPUART peripheral base address.
handlePointer to lpuart_dma_handle_t structure.
xferLPUART DMA transfer structure. See lpuart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_LPUART_RxBusyPrevious transfer on going.
kStatus_InvalidArgumentInvalid argument.
void LPUART_TransferAbortSendDMA ( LPUART_Type *  base,
lpuart_dma_handle_t *  handle 
)

This function aborts send data using DMA.

Parameters
baseLPUART peripheral base address
handlePointer to lpuart_dma_handle_t structure
void LPUART_TransferAbortReceiveDMA ( LPUART_Type *  base,
lpuart_dma_handle_t *  handle 
)

This function aborts the received data using DMA.

Parameters
baseLPUART peripheral base address
handlePointer to lpuart_dma_handle_t structure
status_t LPUART_TransferGetSendCountDMA ( LPUART_Type *  base,
lpuart_dma_handle_t *  handle,
uint32_t *  count 
)

This function gets the number of bytes that have been written to LPUART TX register by DMA.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
countSend bytes count.
Return values
kStatus_NoTransferInProgressNo send in progress.
kStatus_InvalidArgumentParameter is invalid.
kStatus_SuccessGet successfully through the parameter count;
status_t LPUART_TransferGetReceiveCountDMA ( LPUART_Type *  base,
lpuart_dma_handle_t *  handle,
uint32_t *  count 
)

This function gets the number of received bytes.

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