MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
struct | i2c_master_dma_handle_t |
I2C master dma transfer structure. More... | |
Macros | |
#define | I2C_MAX_DMA_TRANSFER_COUNT 1024 |
Maximum lenght of single DMA transfer (determined by capability of the DMA engine) | |
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... | |
typedef void(* | flexcomm_i2c_dma_master_irq_handler_t )(I2C_Type *base, i2c_master_dma_handle_t *handle) |
Typedef for master dma handler. More... | |
Driver version | |
#define | FSL_I2C_DMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 7)) |
I2C DMA driver version 2.0.7. 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 transactional 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... | |
struct _i2c_master_dma_handle |
I2C master dma handle typedef.
Data Fields | |
uint8_t | state |
Transfer state machine current state. More... | |
uint32_t | transferCount |
Indicates progress of the transfer. | |
uint32_t | remainingBytesDMA |
Remaining byte count to be transferred using DMA. More... | |
uint8_t * | buf |
Buffer pointer for current state. More... | |
dma_handle_t * | dmaHandle |
The DMA handler used. More... | |
i2c_master_transfer_t | transfer |
Copy of the current transfer info. 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... | |
uint8_t i2c_master_dma_handle_t::state |
uint32_t i2c_master_dma_handle_t::remainingBytesDMA |
uint8_t* i2c_master_dma_handle_t::buf |
dma_handle_t* i2c_master_dma_handle_t::dmaHandle |
i2c_master_transfer_t i2c_master_dma_handle_t::transfer |
i2c_master_dma_transfer_callback_t i2c_master_dma_handle_t::completionCallback |
void* i2c_master_dma_handle_t::userData |
#define FSL_I2C_DMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 7)) |
typedef void(* i2c_master_dma_transfer_callback_t)(I2C_Type *base, i2c_master_dma_handle_t *handle, status_t status, void *userData) |
typedef void(* flexcomm_i2c_dma_master_irq_handler_t)(I2C_Type *base, i2c_master_dma_handle_t *handle) |
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 | ||
) |
base | I2C peripheral base address |
handle | pointer to i2c_master_dma_handle_t structure |
callback | pointer to user callback function |
userData | user param passed to the callback function |
dmaHandle | DMA handle pointer |
status_t I2C_MasterTransferDMA | ( | I2C_Type * | base, |
i2c_master_dma_handle_t * | handle, | ||
i2c_master_transfer_t * | xfer | ||
) |
base | I2C peripheral base address |
handle | pointer to i2c_master_dma_handle_t structure |
xfer | pointer to transfer structure of i2c_master_transfer_t |
kStatus_Success | Sucessully complete the data transmission. |
kStatus_I2C_Busy | Previous transmission still not finished. |
kStatus_I2C_Timeout | Transfer error, wait signal timeout. |
kStatus_I2C_ArbitrationLost | Transfer error, arbitration lost. |
kStataus_I2C_Nak | Transfer error, receive Nak during transfer. |
status_t I2C_MasterTransferGetCountDMA | ( | I2C_Type * | base, |
i2c_master_dma_handle_t * | handle, | ||
size_t * | count | ||
) |
base | I2C peripheral base address |
handle | pointer to i2c_master_dma_handle_t structure |
count | Number of bytes transferred so far by the non-blocking transaction. |
void I2C_MasterTransferAbortDMA | ( | I2C_Type * | base, |
i2c_master_dma_handle_t * | handle | ||
) |
base | I2C peripheral base address |
handle | pointer to i2c_master_dma_handle_t structure |