| Kinetis SDK v.2.0 API Reference Manual Rev. 0 Freescale Semiconductor, Inc.

- Main Page
- Related Pages
- API Reference

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Files | Data Structures | Typedefs
FlexIO DMA UART Driver
FlexIO 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_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

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

  base | Pointer to FLEXIO_UART_Type structure.
  handle | Pointer to flexio_uart_dma_handle_t structure.
  callback | FlexIO UART callback, NULL means no callback.
  userData | User callback function data.
  txDmaHandle | User requested DMA handle for TX DMA transfer.
  rxDmaHandle | User requested DMA handle for RX DMA transfer.

Return values

  kStatus_Success | Successfully create the handle.
  kStatus_OutOfRange | The 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

  base | Pointer to FLEXIO_UART_Type structure
  handle | Pointer to flexio_uart_dma_handle_t structure
  xfer | FLEXIO_UART DMA transfer structure, refer to flexio_uart_transfer_t.

Return values

  kStatus_Success | if succeed, others failed.
  kStatus_FLEXIO_UART_TxBusy | Previous 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

  base | Pointer to FLEXIO_UART_Type structure
  handle | Pointer to flexio_uart_dma_handle_t structure
  xfer | FLEXIO_UART DMA transfer sturcture, refer to flexio_uart_transfer_t.

Return values

  kStatus_Success | if succeed, others failed.
  kStatus_FLEXIO_UART_RxBusy | Previous 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

  base | Pointer to FLEXIO_UART_Type structure
  handle | Pointer 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

  base | Pointer to FLEXIO_UART_Type structure
  handle | Pointer 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

  base | Pointer to FLEXIO_UART_Type structure
  handle | Pointer to flexio_uart_dma_handle_t structure
  count | Number 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

  base | Pointer to FLEXIO_UART_Type structure
  handle | Pointer to flexio_uart_dma_handle_t structure
  count | Number of bytes received so far by the non-blocking transaction.