How can I make the "RESTART" condition of I2C?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I want to connect a gyro-sensor to BCM20737S.

And the read sequence is like this.

[START] [SLAVEADDR+W] [ack] [REGADDR][ack][RESTART][SLAVEADDR+R][ack][data][ACK][data][ACK][STOP]

Capital letter is "Master to Slave".

Small letter is "Slave to Master".

"REGADDR" is a address of the sensor data like, 0x20 is for X-axis, 0x21 is for Y-axis, so on...

The data is 16bit length.

I already know the sample code of i2c_temperature_sensor and i2cm.h. But it is not like this behavior.

I already have made some products using the i2c function of BCM20737S, and i had thought this gyro-sensor is the same as the read sequence of the  i2c_temperature_sensor, but is not. I made the PCB already for this gyro-sensor...

How can I control the I2C?

0 Likes
2 Replies