MCUXpresso SDK API Reference Manual
Rev 2.12.1
NXP Semiconductors
|
Data Structures | |
struct | lpuart_edma_handle_t |
LPUART eDMA handle. More... | |
Typedefs | |
typedef void(* | lpuart_edma_transfer_callback_t )(LPUART_Type *base, lpuart_edma_handle_t *handle, status_t status, void *userData) |
LPUART transfer callback function. More... | |
Driver version | |
#define | FSL_LPUART_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 5, 2)) |
LPUART EDMA driver version. More... | |
eDMA transactional | |
void | LPUART_TransferCreateHandleEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle, lpuart_edma_transfer_callback_t callback, void *userData, edma_handle_t *txEdmaHandle, edma_handle_t *rxEdmaHandle) |
Initializes the LPUART handle which is used in transactional functions. More... | |
status_t | LPUART_SendEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle, lpuart_transfer_t *xfer) |
Sends data using eDMA. More... | |
status_t | LPUART_ReceiveEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle, lpuart_transfer_t *xfer) |
Receives data using eDMA. More... | |
void | LPUART_TransferAbortSendEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle) |
Aborts the sent data using eDMA. More... | |
void | LPUART_TransferAbortReceiveEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle) |
Aborts the received data using eDMA. More... | |
status_t | LPUART_TransferGetSendCountEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle, uint32_t *count) |
Gets the number of bytes written to the LPUART TX register. More... | |
status_t | LPUART_TransferGetReceiveCountEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle, uint32_t *count) |
Gets the number of received bytes. More... | |
void | LPUART_TransferEdmaHandleIRQ (LPUART_Type *base, void *lpuartEdmaHandle) |
LPUART eDMA IRQ handle function. More... | |
struct _lpuart_edma_handle |
Data Fields | |
lpuart_edma_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... | |
edma_handle_t * | txEdmaHandle |
The eDMA TX channel used. More... | |
edma_handle_t * | rxEdmaHandle |
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. | |
lpuart_edma_transfer_callback_t lpuart_edma_handle_t::callback |
void* lpuart_edma_handle_t::userData |
size_t lpuart_edma_handle_t::rxDataSizeAll |
size_t lpuart_edma_handle_t::txDataSizeAll |
edma_handle_t* lpuart_edma_handle_t::txEdmaHandle |
edma_handle_t* lpuart_edma_handle_t::rxEdmaHandle |
uint8_t lpuart_edma_handle_t::nbytes |
volatile uint8_t lpuart_edma_handle_t::txState |
#define FSL_LPUART_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 5, 2)) |
typedef void(* lpuart_edma_transfer_callback_t)(LPUART_Type *base, lpuart_edma_handle_t *handle, status_t status, void *userData) |
void LPUART_TransferCreateHandleEDMA | ( | LPUART_Type * | base, |
lpuart_edma_handle_t * | handle, | ||
lpuart_edma_transfer_callback_t | callback, | ||
void * | userData, | ||
edma_handle_t * | txEdmaHandle, | ||
edma_handle_t * | rxEdmaHandle | ||
) |
base | LPUART peripheral base address. |
handle | Pointer to lpuart_edma_handle_t structure. |
callback | Callback function. |
userData | User data. |
txEdmaHandle | User requested DMA handle for TX DMA transfer. |
rxEdmaHandle | User requested DMA handle for RX DMA transfer. |
status_t LPUART_SendEDMA | ( | LPUART_Type * | base, |
lpuart_edma_handle_t * | handle, | ||
lpuart_transfer_t * | xfer | ||
) |
This function sends data using eDMA. This is a non-blocking function, which returns right away. When all data is sent, the send callback function is called.
base | LPUART peripheral base address. |
handle | LPUART handle pointer. |
xfer | LPUART eDMA transfer structure. See lpuart_transfer_t. |
kStatus_Success | if succeed, others failed. |
kStatus_LPUART_TxBusy | Previous transfer on going. |
kStatus_InvalidArgument | Invalid argument. |
status_t LPUART_ReceiveEDMA | ( | LPUART_Type * | base, |
lpuart_edma_handle_t * | handle, | ||
lpuart_transfer_t * | xfer | ||
) |
This function receives data using eDMA. This is non-blocking function, which returns right away. When all data is received, the receive callback function is called.
base | LPUART peripheral base address. |
handle | Pointer to lpuart_edma_handle_t structure. |
xfer | LPUART eDMA transfer structure, see lpuart_transfer_t. |
kStatus_Success | if succeed, others fail. |
kStatus_LPUART_RxBusy | Previous transfer ongoing. |
kStatus_InvalidArgument | Invalid argument. |
void LPUART_TransferAbortSendEDMA | ( | LPUART_Type * | base, |
lpuart_edma_handle_t * | handle | ||
) |
This function aborts the sent data using eDMA.
base | LPUART peripheral base address. |
handle | Pointer to lpuart_edma_handle_t structure. |
void LPUART_TransferAbortReceiveEDMA | ( | LPUART_Type * | base, |
lpuart_edma_handle_t * | handle | ||
) |
This function aborts the received data using eDMA.
base | LPUART peripheral base address. |
handle | Pointer to lpuart_edma_handle_t structure. |
status_t LPUART_TransferGetSendCountEDMA | ( | LPUART_Type * | base, |
lpuart_edma_handle_t * | handle, | ||
uint32_t * | count | ||
) |
This function gets the number of bytes written to the LPUART TX register by DMA.
base | LPUART peripheral base address. |
handle | LPUART handle pointer. |
count | Send bytes count. |
kStatus_NoTransferInProgress | No send in progress. |
kStatus_InvalidArgument | Parameter is invalid. |
kStatus_Success | Get successfully through the parameter count ; |
status_t LPUART_TransferGetReceiveCountEDMA | ( | LPUART_Type * | base, |
lpuart_edma_handle_t * | handle, | ||
uint32_t * | count | ||
) |
This function gets the number of received bytes.
base | LPUART peripheral base address. |
handle | LPUART handle pointer. |
count | Receive bytes count. |
kStatus_NoTransferInProgress | No receive in progress. |
kStatus_InvalidArgument | Parameter is invalid. |
kStatus_Success | Get successfully through the parameter count ; |
void LPUART_TransferEdmaHandleIRQ | ( | LPUART_Type * | base, |
void * | lpuartEdmaHandle | ||
) |
This function handles the LPUART tx complete IRQ request and invoke user callback. It is not set to static so that it can be used in user application.
base | LPUART peripheral base address. |
lpuartEdmaHandle | LPUART handle pointer. |