AnsweredAssumed Answered

I2C_MasterStart() doesn't write address

Question asked by Ben Griffiths on Oct 18, 2017
Latest reply on Mar 14, 2018 by mwutley

According to the documention I2C_MasterStart(0 is supposed to send a start condition and then write the start address.

It doesn't' appear to be doing that.

 

I2C_MasterStart(I2C0, SENSIRION_I2C_ADDRESS, kI2C_Write);
I2C_MasterWriteBlocking(I2C0, local_buffer, 2);
I2C_MasterStop(I2C0);

 

If I put a breakpoint on the second line all that's on the I2C is:

There's no clocking of SCL done.

 

It also seems to leave MasterWriteBlocking() hanging as that gets permanently stuck at the line:

/* Wait until the data register is ready for transmit. */
while (!(base->S & kI2C_TransferCompleteFlag))

 

Right now there's not actually anything attached to my I2C lines (except the pull-up resistors) (as I'd removed the device I was trying to talk to to eliminate that as a case of my problems).

Outcomes