There is an "8 bit" representation of an I2C address, where the bottom bit is actually the Read/Write bit and is, by convention, set to zero to describe the address. There is a "7-bit" representation of an I2C address, where the address is shifted one bit to the right, so the read/write bit disappears and is not part of the address. Half the manufacturers do it one way, the other half the other way.
Linux/Debian uses the 7 bit representation. 0x42 >> 1 = 0x21 --- Graham == On Wednesday, June 24, 2015 at 3:13:48 AM UTC-5, 멘지 wrote: > > > I'm trying i2c bus on BBB > > slave module is OV7670 ( CMOS Camera ) > > OS is angstrom > > > > <https://lh3.googleusercontent.com/-zT9VFvtWOmo/VYpkZj8P2MI/AAAAAAAAFDw/Abor6TYsMrg/s1600/dd.png> > > > when i connect ov7670 on BBB P9 Header (19,20) > > and command i2cdetect -r -y 1 > > look at the picture above you fine '21' is creating > > 0x21 is slave address ???? > > but slave address of ov7670 is 0x42 in datasheet > > what means 0x21 ?? > > and > > am i better try i2c ??? > > > > My purpose is writing data to the ov7670 register. > > > Advice please > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
