2 Replies Latest reply on Feb 17, 2016 1:12 AM by dmiya

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

      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?