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

Overview

Files

file  fsl_i2c_dma.h
 

Data Structures

struct  i2c_master_dma_handle_t
 I2C master dma transfer structure. More...
 

Typedefs

typedef void(* i2c_master_dma_transfer_callback_t )(I2C_Type *base, i2c_master_dma_handle_t *handle, status_t status, void *userData)
 I2C master dma transfer callback typedef. More...
 

I2C Block DMA Transfer Operation

void I2C_MasterTransferCreateHandleDMA (I2C_Type *base, i2c_master_dma_handle_t *handle, i2c_master_dma_transfer_callback_t callback, void *userData, dma_handle_t *dmaHandle)
 Init the I2C handle which is used in transcational functions. More...
 
status_t I2C_MasterTransferDMA (I2C_Type *base, i2c_master_dma_handle_t *handle, i2c_master_transfer_t *xfer)
 Performs a master dma non-blocking transfer on the I2C bus. More...
 
status_t I2C_MasterTransferGetCountDMA (I2C_Type *base, i2c_master_dma_handle_t *handle, size_t *count)
 Get master transfer status during a dma non-blocking transfer. More...
 
void I2C_MasterTransferAbortDMA (I2C_Type *base, i2c_master_dma_handle_t *handle)
 Abort a master dma non-blocking transfer in a early time. More...
 

Data Structure Documentation

struct _i2c_master_dma_handle

I2C master dma handle typedef.

Data Fields

i2c_master_transfer_t transfer
 I2C master transfer struct. More...
 
size_t transferSize
 Total bytes to be transferred. More...
 
uint8_t state
 I2C master transfer status. More...
 
dma_handle_tdmaHandle
 The DMA handler used. More...
 
i2c_master_dma_transfer_callback_t completionCallback
 Callback function called after dma transfer finished. More...
 
void * userData
 Callback parameter passed to callback function. More...
 

Field Documentation

i2c_master_transfer_t i2c_master_dma_handle_t::transfer
size_t i2c_master_dma_handle_t::transferSize
uint8_t i2c_master_dma_handle_t::state
dma_handle_t* i2c_master_dma_handle_t::dmaHandle
i2c_master_dma_transfer_callback_t i2c_master_dma_handle_t::completionCallback
void* i2c_master_dma_handle_t::userData

Typedef Documentation

typedef void(* i2c_master_dma_transfer_callback_t)(I2C_Type *base, i2c_master_dma_handle_t *handle, status_t status, void *userData)

Function Documentation

void I2C_MasterTransferCreateHandleDMA ( I2C_Type *  base,
i2c_master_dma_handle_t *  handle,
i2c_master_dma_transfer_callback_t  callback,
void *  userData,
dma_handle_t dmaHandle 
)
Parameters
baseI2C peripheral base address
handlepointer to i2c_master_dma_handle_t structure
callbackpointer to user callback function
userDatauser param passed to the callback function
dmaHandleDMA handle pointer
status_t I2C_MasterTransferDMA ( I2C_Type *  base,
i2c_master_dma_handle_t *  handle,
i2c_master_transfer_t xfer 
)
Parameters
baseI2C peripheral base address
handlepointer to i2c_master_dma_handle_t structure
xferpointer to transfer structure of i2c_master_transfer_t
Return values
kStatus_SuccessSucessully complete the data transmission.
kStatus_I2C_BusyPrevious transmission still not finished.
kStatus_I2C_TimeoutTransfer error, wait signal timeout.
kStatus_I2C_ArbitrationLostTransfer error, arbitration lost.
kStataus_I2C_NakTransfer error, receive Nak during transfer.
status_t I2C_MasterTransferGetCountDMA ( I2C_Type *  base,
i2c_master_dma_handle_t *  handle,
size_t *  count 
)
Parameters
baseI2C peripheral base address
handlepointer to i2c_master_dma_handle_t structure
countNumber of bytes transferred so far by the non-blocking transaction.
void I2C_MasterTransferAbortDMA ( I2C_Type *  base,
i2c_master_dma_handle_t *  handle 
)
Parameters
baseI2C peripheral base address
handlepointer to i2c_master_dma_handle_t structure