1

Are the addresses reported by i2cdetect 7-bit or 8-bit I2C addresses? My hope is the more general 7-bit address.

I'm starting to run some experiments, but it would be nice if the manpages were a bit more explicit about the reported format.

$ sudo i2cdetect -y 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- 1d -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- 61 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- 
2
  • There is no mention of 8-bit slave address in I2C spec nxp.com/docs/en/user-guide/UM10204.pdf Commented May 24, 2021 at 21:18
  • 1
    8-bits is when the 7-bit address is left-shifted one bit and a r/w or indication bit is added. From experiments, pretty sure these are 7-bit addresses being reported because that lsb is a mix of 0 and 1 in the results. Commented May 24, 2021 at 21:20

1 Answer 1

4

my experiments say the same, they are 7 bits addresses, for example i2cdetect returns you 0x33 (0b00110011), however physically on the bus you will see:

  • 0x66 (0x33<<1 and LSB set to 0) master will send data to the slave
  • 0x67 (0x33<<1 and LSB set to 1) master will read the data from the slave

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.