Kinetis SDK v.2.0 API Reference Manual
Rev. 0
Freescale Semiconductor, Inc.
|
Files | |
file | fsl_uart_edma.h |
Data Structures | |
struct | uart_edma_handle_t |
UART eDMA handle. More... | |
Typedefs | |
typedef void(* | uart_edma_transfer_callback_t )(UART_Type *base, uart_edma_handle_t *handle, status_t status, void *userData) |
UART transfer callback function. More... | |
eDMA transactional | |
void | UART_TransferCreateHandleEDMA (UART_Type *base, uart_edma_handle_t *handle, uart_edma_transfer_callback_t callback, void *userData, edma_handle_t *txEdmaHandle, edma_handle_t *rxEdmaHandle) |
Initializes the UART handle which is used in transactional functions. More... | |
status_t | UART_SendEDMA (UART_Type *base, uart_edma_handle_t *handle, uart_transfer_t *xfer) |
Sends data using eDMA. More... | |
status_t | UART_ReceiveEDMA (UART_Type *base, uart_edma_handle_t *handle, uart_transfer_t *xfer) |
Receive data using eDMA. More... | |
void | UART_TransferAbortSendEDMA (UART_Type *base, uart_edma_handle_t *handle) |
Aborts the sent data using eDMA. More... | |
void | UART_TransferAbortReceiveEDMA (UART_Type *base, uart_edma_handle_t *handle) |
Aborts the receive data using eDMA. More... | |
status_t | UART_TransferGetSendCountEDMA (UART_Type *base, uart_edma_handle_t *handle, uint32_t *count) |
Get the number of bytes that have been written to UART TX register. More... | |
status_t | UART_TransferGetReceiveCountEDMA (UART_Type *base, uart_edma_handle_t *handle, uint32_t *count) |
Get the number of bytes that have been received. More... | |
struct _uart_edma_handle |
Data Fields | |
uart_edma_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... | |
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. | |
uart_edma_transfer_callback_t uart_edma_handle_t::callback |
void* uart_edma_handle_t::userData |
size_t uart_edma_handle_t::rxDataSizeAll |
size_t uart_edma_handle_t::txDataSizeAll |
edma_handle_t* uart_edma_handle_t::txEdmaHandle |
edma_handle_t* uart_edma_handle_t::rxEdmaHandle |
volatile uint8_t uart_edma_handle_t::txState |
typedef void(* uart_edma_transfer_callback_t)(UART_Type *base, uart_edma_handle_t *handle, status_t status, void *userData) |
void UART_TransferCreateHandleEDMA | ( | UART_Type * | base, |
uart_edma_handle_t * | handle, | ||
uart_edma_transfer_callback_t | callback, | ||
void * | userData, | ||
edma_handle_t * | txEdmaHandle, | ||
edma_handle_t * | rxEdmaHandle | ||
) |
base | UART peripheral base address. |
handle | Pointer to uart_edma_handle_t structure. |
callback | UART callback, NULL means no callback. |
userData | User callback function data. |
rxEdmaHandle | User requested DMA handle for RX DMA transfer. |
txEdmaHandle | User requested DMA handle for TX DMA transfer. |
status_t UART_SendEDMA | ( | UART_Type * | base, |
uart_edma_handle_t * | handle, | ||
uart_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 | UART peripheral base address. |
handle | UART handle pointer. |
xfer | UART eDMA transfer structure. See uart_transfer_t. |
kStatus_Success | if succeed, others failed. |
kStatus_UART_TxBusy | Previous transfer on going. |
kStatus_InvalidArgument | Invalid argument. |
status_t UART_ReceiveEDMA | ( | UART_Type * | base, |
uart_edma_handle_t * | handle, | ||
uart_transfer_t * | xfer | ||
) |
This function receives data using eDMA. This is a non-blocking function, which returns right away. When all data is received, the receive callback function is called.
base | UART peripheral base address. |
handle | Pointer to uart_edma_handle_t structure. |
xfer | UART eDMA transfer structure. See uart_transfer_t. |
kStatus_Success | if succeed, others failed. |
kStatus_UART_RxBusy | Previous transfer on going. |
kStatus_InvalidArgument | Invalid argument. |
void UART_TransferAbortSendEDMA | ( | UART_Type * | base, |
uart_edma_handle_t * | handle | ||
) |
This function aborts sent data using eDMA.
base | UART peripheral base address. |
handle | Pointer to uart_edma_handle_t structure. |
void UART_TransferAbortReceiveEDMA | ( | UART_Type * | base, |
uart_edma_handle_t * | handle | ||
) |
This function aborts receive data using eDMA.
base | UART peripheral base address. |
handle | Pointer to uart_edma_handle_t structure. |
status_t UART_TransferGetSendCountEDMA | ( | UART_Type * | base, |
uart_edma_handle_t * | handle, | ||
uint32_t * | count | ||
) |
This function gets the number of bytes that have been written to UART TX register by DMA.
base | UART peripheral base address. |
handle | UART 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 UART_TransferGetReceiveCountEDMA | ( | UART_Type * | base, |
uart_edma_handle_t * | handle, | ||
uint32_t * | count | ||
) |
This function gets the number of bytes that have been received.
base | UART peripheral base address. |
handle | UART 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 ; |