ABC of Electronics cosycom.com
EMBEDDED SYSTEMS & MICROCONTROLLERS · PAGE 14

The I2C Bus

Many chips on two wires.

I2C uses a data line (SDA) and a clock line (SCL) shared by every device. One controller starts each transfer by sending a 7-bit address; only the matching device answers.

Both lines need pull-up resistors, typically a few kilohms, because devices only pull them low. It is slower than SPI but saves pins.

If two devices share an address, change one with its address pin or use a multiplexer.