Kinetis SDK v.2.0 API Reference Manual
Rev. 0
Freescale Semiconductor, Inc.
|
Files | |
file | fsl_lpuart_edma.h |
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... | |
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) |
Get the number of bytes that have been written to LPUART TX register. More... | |
status_t | LPUART_TransferGetReceiveCountEDMA (LPUART_Type *base, lpuart_edma_handle_t *handle, uint32_t *count) |
Get the number of bytes that have been received. 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... | |
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 |
volatile uint8_t lpuart_edma_handle_t::txState |
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, refer to 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 that have been written to 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 bytes that have been received.
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 ; |