Is I2C read from address 0 supported in hardware?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is I2C read from address 0 supported in hardware?

594 Views
iainrist
Contributor I


I have a collection of Kinetis K10 50MHz uCs connected via I2C. I am (ab)using the I2C bus to read their interrupt states back as a bitfield by using the dominant and recessive nature of the 0 and 1 bits on the I2C bus.

I first attempted to do this using address 0, as that was already set up as my 'global' address. The reads did not act as expected, with the bus getting stuck after reading the expected number of bytes. The master did/could not generate the STOP condition.

I believe I have ruled out the slaves holding the bus as I did not set up a read on the slave, so the slave transmitted the fill byte, but I am not entirely sure. I could break the I2C connection during the stuck state to determine which uC is at fault.

Changing the address on the master and all slaves to 7Fh resolved the problem.

Is there something in the I2C hardware that does not handle a read from address 0?

Labels (1)
Tags (3)
0 Kudos
1 Reply

326 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi

The K10 50MHz I2C module supports I2C general call address, please check if the I2Cx_C2 [GCAEN] bit is set.

If the GCAEN bit is set, general call participates the address matching process.


Wish it helps.

Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos