Strange I2C Bus Behavior
-
I have a LoPy connected to four I2C devices. One of those devices is an NXP PCF8593, which has a fixed I2C address of 0xA2. After doing an I2C scan(), all four of the devices show up, and the other three have the correct address in the scan() result. But the PCF8593 shows as 81 (which is not 0xA2 in decimal). I've verified that the device in the scan() result that shows up as 81 is the PCF8593.
Any thoughts on how/why this would happen?
PS - I've not tried communicating with the PCF8593, but that and an o'scope trace is next on the list.
-
@Eric24 I2C devices have an 7 bit address, so i cannot be 0xA2, which is 162 decimal or 2 times 81. So I think everything is fine, and the difference is just a matter of representation code vs. manual.
-
@robert-hh Thank you, that makes perfect sense. I knew that (the 7-bit address), but it didn't register with me because the datasheet for the PCF8593 says it's I2C address is 0xA2, but now that I look at it again, they are including the R/W bit. To much late-night prototyping. :o
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login