I2C Target Transaction.
This structure defines the complete I2C transfer.
This structure specifies the buffer and buffer's size that is to be read from or written to the I2C controller. In restart condition, readBuf/writeBuf and readCount/writeCount are used repeatedly for every start in one transfer. When each restart happens, driver will call back to application with the restart transfer status, and application should save the data transferred in the previous start, and provide the new data to the current start. When all the starts complete (stop condition), driver will call back to application with transfer success status, and readBuf/writeBuf and readCount/writeCount will only record the data transferred in the last start condition.
Data Fields | |
const uint8_t * | writeBuf |
uint32_t | writeCount |
uint8_t * | readBuf |
uint32_t | readCount |
uint32_t | timeout |
bool | expandSA |
const uint8_t* I2CLLD_targetTransaction::writeBuf |
Buffer containing data to be written to controller
uint32_t I2CLLD_targetTransaction::writeCount |
Number of bytes to be written to the controller
uint8_t* I2CLLD_targetTransaction::readBuf |
Buffer to which data from controller is to be read into
uint32_t I2CLLD_targetTransaction::readCount |
Number of bytes to be read to the controller
uint32_t I2CLLD_targetTransaction::timeout |
Timeout value for i2c transaction in Micro Seconds
bool I2CLLD_targetTransaction::expandSA |
Expand target address: true: 10-bit address mode, false: 7-bit address mode