AnsweredAssumed Answered

How to generate repeated start on I2C MC1322x

Question asked by Fabrice TOCCI on Feb 25, 2014
Latest reply on Feb 25, 2014 by Fabrice TOCCI

I,

We are building a solution with MMA8451Q accelerometer and MC1322x.

I2C bus is used between 8451 and 1322.

 

I’m having problems reading MMA8451 registers.

 

When I attempt reading 8451 WHO I AM register (address 0x0D), I always go a wrong value (different from 0x1A).

 

I had a look to Freescale community and I found that a repeated Start method must be used to read 8451 registers (https://community.freescale.com/message/348167#348167).

I thought I was using this method when transfer mode is set to gI2cMstrHoldBus_c in the I2c_senddata function call.

 

What I discovered is that frame sent on I2C bus is the same if I use gI2cMstrHoldBus_c or gI2cMstrReleaseBus_c I2C transfer Modes. (see attached images)

Which function or Option Should I use to generate a repeated  Start?

 

Best regards.

Fabrice Tocci

SW engineer at Beenetic Systems.

Outcomes