In the I2C search portion of the program do you have the ", NoAck" and the NoAck label?
I2Cread SDA, SCL, ADDR, [Response], NoAck
Blah
Blah
Blah
NoAck:
Next ADDR
The ", NoAck" portion makes the I2Cread command wait for an ACK from the device. If an ACK is NOT received it jumps to the NoAck label where the ADDR variable is incremented. If an ACK IS received then the SlaveCount variable is incremented and the address is output telling you that that address responded.
Also, do you have the DEFINE I2C_HOLD 1 statement still in there?
The controller may need this clock stretching support.
Bookmarks