How to generate repeated start on I2C MC1322x

Showing results for 
Search instead for 
Did you mean: 

How to generate repeated start on I2C MC1322x

Contributor III


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 (

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.

0 Kudos
2 Replies

NXP Employee
NXP Employee


-I would suggest you to move your question into i.MX community so it get's more visible for the relevant group of people. If you just place it into the general community it might happen that none of the specialists will notice it.

i.MX Community

Placing the question into the right community increases the chances to get answers.

You can do so by editing your question and at the bottom switching to In Place and choosing the i.MX community.

Contributor III

Good point Martin, thank you.

In fact I realized I made a mistake

I'm getting problems with MC1322x.

Is it the right forum for this component?

0 Kudos