MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

Overview

Data Structures

struct  i2c_master_edma_handle_t
 I2C master eDMA transfer structure. More...
 

Typedefs

typedef void(* i2c_master_edma_transfer_callback_t )(I2C_Type *base, i2c_master_edma_handle_t *handle, status_t status, void *userData)
 I2C master eDMA transfer callback typedef. More...
 

I2C Block eDMA Transfer Operation

void I2C_MasterCreateEDMAHandle (I2C_Type *base, i2c_master_edma_handle_t *handle, i2c_master_edma_transfer_callback_t callback, void *userData, edma_handle_t *edmaHandle)
 Initializes the I2C handle which is used in transcational functions. More...
 
status_t I2C_MasterTransferEDMA (I2C_Type *base, i2c_master_edma_handle_t *handle, i2c_master_transfer_t *xfer)
 Performs a master eDMA non-blocking transfer on the I2C bus. More...
 
status_t I2C_MasterTransferGetCountEDMA (I2C_Type *base, i2c_master_edma_handle_t *handle, size_t *count)
 Gets a master transfer status during the eDMA non-blocking transfer. More...
 
void I2C_MasterTransferAbortEDMA (I2C_Type *base, i2c_master_edma_handle_t *handle)
 Aborts a master eDMA non-blocking transfer early. More...
 

Data Structure Documentation

struct _i2c_master_edma_handle

I2C master eDMA handle typedef.

Data Fields

i2c_master_transfer_t transfer
 I2C master transfer structure. More...
 
size_t transferSize
 Total bytes to be transferred. More...
 
uint8_t nbytes
 eDMA minor byte transfer count initially configured. More...
 
uint8_t state
 I2C master transfer status. More...
 
edma_handle_t * dmaHandle
 The eDMA handler used. More...
 
i2c_master_edma_transfer_callback_t completionCallback
 A callback function called after the eDMA transfer is finished. More...
 
void * userData
 A callback parameter passed to the callback function. More...
 

Field Documentation

i2c_master_transfer_t i2c_master_edma_handle_t::transfer
size_t i2c_master_edma_handle_t::transferSize
uint8_t i2c_master_edma_handle_t::nbytes
uint8_t i2c_master_edma_handle_t::state
edma_handle_t* i2c_master_edma_handle_t::dmaHandle
i2c_master_edma_transfer_callback_t i2c_master_edma_handle_t::completionCallback
void* i2c_master_edma_handle_t::userData

Typedef Documentation

typedef void(* i2c_master_edma_transfer_callback_t)(I2C_Type *base, i2c_master_edma_handle_t *handle, status_t status, void *userData)

Function Documentation

void I2C_MasterCreateEDMAHandle ( I2C_Type *  base,
i2c_master_edma_handle_t *  handle,
i2c_master_edma_transfer_callback_t  callback,
void *  userData,
edma_handle_t *  edmaHandle 
)
Parameters
baseI2C peripheral base address.
handleA pointer to the i2c_master_edma_handle_t structure.
callbackA pointer to the user callback function.
userDataA user parameter passed to the callback function.
edmaHandleeDMA handle pointer.
status_t I2C_MasterTransferEDMA ( I2C_Type *  base,
i2c_master_edma_handle_t *  handle,
i2c_master_transfer_t xfer 
)
Parameters
baseI2C peripheral base address.
handleA pointer to the i2c_master_edma_handle_t structure.
xferA pointer to the transfer structure of i2c_master_transfer_t.
Return values
kStatus_SuccessSucessfully completed the data transmission.
kStatus_I2C_BusyA previous transmission is still not finished.
kStatus_I2C_TimeoutTransfer error, waits for a signal timeout.
kStatus_I2C_ArbitrationLostTransfer error, arbitration lost.
kStataus_I2C_NakTransfer error, receive NAK during transfer.
status_t I2C_MasterTransferGetCountEDMA ( I2C_Type *  base,
i2c_master_edma_handle_t *  handle,
size_t *  count 
)
Parameters
baseI2C peripheral base address.
handleA pointer to the i2c_master_edma_handle_t structure.
countA number of bytes transferred by the non-blocking transaction.
void I2C_MasterTransferAbortEDMA ( I2C_Type *  base,
i2c_master_edma_handle_t *  handle 
)
Parameters
baseI2C peripheral base address.
handleA pointer to the i2c_master_edma_handle_t structure.