| 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 eDMA UART Driver
FlexIO UART Driver

## Overview

## Files
file | fsl_flexio_uart_edma.h

## Data Structures
struct | flexio_uart_edma_handle_t
| UART eDMA handle. More...

## Typedefs
typedef void(* | flexio_uart_edma_transfer_callback_t )(FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, status_t status, void *userData)
| UART transfer callback function. More...

## eDMA transactional
status_t | FLEXIO_UART_TransferCreateHandleEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, flexio_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 | FLEXIO_UART_TransferSendEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, flexio_uart_transfer_t *xfer)
| Sends data using eDMA. More...
status_t | FLEXIO_UART_TransferReceiveEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, flexio_uart_transfer_t *xfer)
| Receives data using eDMA. More...
void | FLEXIO_UART_TransferAbortSendEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle)
| Aborts the sent data which using eDMA. More...
void | FLEXIO_UART_TransferAbortReceiveEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle)
| Aborts the receive data which using eDMA. More...
status_t | FLEXIO_UART_TransferGetSendCountEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, size_t *count)
| Gets the number of bytes still not sent out. More...
status_t | FLEXIO_UART_TransferGetReceiveCountEDMA (FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, size_t *count)
| Gets the number of bytes still not received. More...

## Data Structure Documentation

struct _flexio_uart_edma_handle

### Data Fields
flexio_uart_edma_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...
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.

#### Field Documentation

flexio_uart_edma_transfer_callback_t flexio_uart_edma_handle_t::callback

void* flexio_uart_edma_handle_t::userData

size_t flexio_uart_edma_handle_t::txSize

size_t flexio_uart_edma_handle_t::rxSize

edma_handle_t* flexio_uart_edma_handle_t::txEdmaHandle

edma_handle_t* flexio_uart_edma_handle_t::rxEdmaHandle

volatile uint8_t flexio_uart_edma_handle_t::txState

## Typedef Documentation

typedef void(* flexio_uart_edma_transfer_callback_t)(FLEXIO_UART_Type *base, flexio_uart_edma_handle_t *handle, status_t status, void *userData)

## Function Documentation

status_t FLEXIO_UART_TransferCreateHandleEDMA | ( | FLEXIO_UART_Type * | base,
|  | flexio_uart_edma_handle_t * | handle,
|  | flexio_uart_edma_transfer_callback_t | callback,
|  | void * | userData,
|  | edma_handle_t * | txEdmaHandle,
|  | edma_handle_t * | rxEdmaHandle
| ) |  |

Parameters

  base | pointer to FLEXIO_UART_Type.
  handle | Pointer to flexio_uart_edma_handle_t structure.
  callback | The callback function.
  userData | The parameter of the callback function.
  rxEdmaHandle | User requested DMA handle for RX DMA transfer.
  txEdmaHandle | User requested DMA handle for TX DMA transfer.

Return values

  kStatus_Success | Successfully create the handle.
  kStatus_OutOfRange | The flexIO SPI eDMA type/handle table out of range.

status_t FLEXIO_UART_TransferSendEDMA | ( | FLEXIO_UART_Type * | base,
|  | flexio_uart_edma_handle_t * | handle,
|  | flexio_uart_transfer_t * | xfer
| ) |  |

This function sends data using eDMA. This is a non-blocking function, which returns right away. When all data have been sent out, the send callback function is called.

Parameters

  base | pointer to FLEXIO_UART_Type
  handle | UART handle pointer.
  xfer | UART EDMA 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_TransferReceiveEDMA | ( | FLEXIO_UART_Type * | base,
|  | flexio_uart_edma_handle_t * | handle,
|  | flexio_uart_transfer_t * | xfer
| ) |  |

This function receives data using eDMA. This is a 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
  handle | Pointer to flexio_uart_edma_handle_t structure
  xfer | UART eDMA transfer structure, refer to flexio_uart_transfer_t.

Return values

  kStatus_Success | if succeed, others failed.
  kStatus_UART_RxBusy | Previous transfer on going.

void FLEXIO_UART_TransferAbortSendEDMA | ( | FLEXIO_UART_Type * | base,
|  | flexio_uart_edma_handle_t * | handle
| ) |  |

This function aborts sent data which using eDMA.

Parameters

  base | pointer to FLEXIO_UART_Type
  handle | Pointer to flexio_uart_edma_handle_t structure

void FLEXIO_UART_TransferAbortReceiveEDMA | ( | FLEXIO_UART_Type * | base,
|  | flexio_uart_edma_handle_t * | handle
| ) |  |

This function aborts the receive data which using eDMA.

Parameters

  base | pointer to FLEXIO_UART_Type
  handle | Pointer to flexio_uart_edma_handle_t structure

status_t FLEXIO_UART_TransferGetSendCountEDMA | ( | FLEXIO_UART_Type * | base,
|  | flexio_uart_edma_handle_t * | handle,
|  | size_t * | count
| ) |  |

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

Parameters

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

status_t FLEXIO_UART_TransferGetReceiveCountEDMA | ( | FLEXIO_UART_Type * | base,
|  | flexio_uart_edma_handle_t * | handle,
|  | size_t * | count
| ) |  |

This function gets the number of bytes still not received.

Parameters

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