Kinetis SDK v.2.0 API Reference Manual  Rev. 0
Freescale Semiconductor, Inc.
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
FlexIO DMA UART Driver

Overview

Files

file  fsl_flexio_uart_dma.h
 

Data Structures

struct  flexio_uart_dma_handle_t
 UART DMA handle. More...
 

Typedefs

typedef void(* flexio_uart_dma_transfer_callback_t )(FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, status_t status, void *userData)
 UART transfer callback function. More...
 

eDMA transactional

status_t FLEXIO_UART_TransferCreateHandleDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, flexio_uart_dma_transfer_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle)
 Initializes the FLEXIO_UART handle which is used in transactional functions. More...
 
status_t FLEXIO_UART_TransferSendDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, flexio_uart_transfer_t *xfer)
 Sends data using DMA. More...
 
status_t FLEXIO_UART_TransferReceiveDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, flexio_uart_transfer_t *xfer)
 Receives data using DMA. More...
 
void FLEXIO_UART_TransferAbortSendDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle)
 Aborts the sent data which using DMA. More...
 
void FLEXIO_UART_TransferAbortReceiveDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle)
 Aborts the receive data which using DMA. More...
 
status_t FLEXIO_UART_TransferGetSendCountDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, size_t *count)
 Gets the number of bytes still not sent out. More...
 
status_t FLEXIO_UART_TransferGetReceiveCountDMA (FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, size_t *count)
 Gets the number of bytes still not received. More...
 

Data Structure Documentation

struct _flexio_uart_dma_handle

Data Fields

flexio_uart_dma_transfer_callback_t callback
 Callback function. More...
 
void * userData
 UART callback function parameter. More...
 
size_t txSize
 Total bytes to be sent. More...
 
size_t rxSize
 Total bytes to be received. 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

flexio_uart_dma_transfer_callback_t flexio_uart_dma_handle_t::callback
void* flexio_uart_dma_handle_t::userData
size_t flexio_uart_dma_handle_t::txSize
size_t flexio_uart_dma_handle_t::rxSize
dma_handle_t* flexio_uart_dma_handle_t::txDmaHandle
dma_handle_t* flexio_uart_dma_handle_t::rxDmaHandle
volatile uint8_t flexio_uart_dma_handle_t::txState

Typedef Documentation

typedef void(* flexio_uart_dma_transfer_callback_t)(FLEXIO_UART_Type *base, flexio_uart_dma_handle_t *handle, status_t status, void *userData)

Function Documentation

status_t FLEXIO_UART_TransferCreateHandleDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
flexio_uart_dma_transfer_callback_t  callback,
void *  userData,
dma_handle_t txDmaHandle,
dma_handle_t rxDmaHandle 
)
Parameters
basePointer to FLEXIO_UART_Type structure.
handlePointer to flexio_uart_dma_handle_t structure.
callbackFlexIO UART callback, NULL means no callback.
userDataUser callback function data.
txDmaHandleUser requested DMA handle for TX DMA transfer.
rxDmaHandleUser requested DMA handle for RX DMA transfer.
Return values
kStatus_SuccessSuccessfully create the handle.
kStatus_OutOfRangeThe FlexIO UART DMA type/handle table out of range.
status_t FLEXIO_UART_TransferSendDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
flexio_uart_transfer_t xfer 
)

This function send data using DMA, this is non-blocking function, which return right away. When all data have been sent out, the send callback function is called.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
xferFLEXIO_UART DMA transfer structure, refer to flexio_uart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_FLEXIO_UART_TxBusyPrevious transfer on going.
status_t FLEXIO_UART_TransferReceiveDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
flexio_uart_transfer_t xfer 
)

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

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
xferFLEXIO_UART DMA transfer sturcture, refer to flexio_uart_transfer_t.
Return values
kStatus_Successif succeed, others failed.
kStatus_FLEXIO_UART_RxBusyPrevious transfer on going.
void FLEXIO_UART_TransferAbortSendDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle 
)

This function aborts the sent data which using DMA.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
void FLEXIO_UART_TransferAbortReceiveDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle 
)

This function aborts the receive data which using DMA.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
status_t FLEXIO_UART_TransferGetSendCountDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
size_t *  count 
)

This function gets the number of bytes still not sent out.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
countNumber of bytes sent so far by the non-blocking transaction.
status_t FLEXIO_UART_TransferGetReceiveCountDMA ( FLEXIO_UART_Type base,
flexio_uart_dma_handle_t *  handle,
size_t *  count 
)

This function gets the number of bytes still not received.

Parameters
basePointer to FLEXIO_UART_Type structure
handlePointer to flexio_uart_dma_handle_t structure
countNumber of bytes received so far by the non-blocking transaction.