26.3.3.8 i2c_m_sync_cmd_read
Sync version of read register value from I2C slave.
int32_t i2c_m_sync_cmd_read(
struct i2c_m_sync_desc * i2c,
uint8_t reg,
uint8_t * buffer,
uint8_t length
)
This function will read a byte value from a specified register in the I2C slave device and then wait for this operation to be done.
The sequence of this routine is sta->address(write)->ack->reg address->ack->resta->address(read)->ack->reg value->nack->stt
Parameters
- i2c
-
Type: struct i2c_m_sync_desc Struct *
An I2C descriptor, which is used to communicate through I2C
- reg
-
Type: uint8_t
The internal address/register of the I2C slave device
- buffer
-
Type: uint8_t *
The buffer to hold the read data from the I2C slave device
- length
-
Type: uint8_t
The length (in bytes) to read from the I2C slave device
Returns
Type: int32_t
Whether successfully read from the device
- <0
-
The passed parameters were invalid or read fail
- 0
-
Reading from register is completed successfully