AnsweredAssumed Answered

I2C address timeout: how to close communication correctly

Question asked by benedetto.salvatore on Apr 21, 2012
Latest reply on May 1, 2012 by bil.til
Hi there,

I'm trying to implement an enumeration test on the I2C bus with my own driver
but I haven't figured out how to deal with a timeout on the address.

After I send the address of the slave, if nobody respond within a certain timeout
(25ms in my case) I'd like to close up the communication and go on with the next
address. I tried setting the stop bit on timeout but the bus keep staying busy and in
master mode, and it locks everything up, because the next thing I do is sending a new start condition which won't happen due to the bus being buse.

The spec says that after setting the STOP bit, the stop condition will be actually set
after the next byte. Does this mean that I have to send a dummy byte (which hopefully
is nobody address)? Or is there something I am missing?

Thanks in advanced.
S.

Outcomes