Addressing

The first byte of an I2C transfer contains the slave address and the data direction.

The address is 7 bits long, followed by the direction bit. Like all data bytes, the address is transferred with the most significant bit first.

adressing
A seven bit wide address space theoretically allows 128 I2C addresses – however, some addresses are reserved for special purposes. Thus, only 112 addresses are available with the 7 bit address scheme. To get rid of this a special method for using 10 bit addresses is defined.

The following table shows I2C addresses reserved for special purposes:

10 bit adresses, binary noted, MSB is left  Purpose
 0000000 0  General Call
 0000000 1  Start Byte
 0000001 X  CBUS Addresses
 0000010 X  Reserved for Different Bus Formats
 0000011 X  Reserved for future purposes
 00001XX X  High-Speed Master Code
 11110XX X  10-bit Slave Addressing
 11111XX X  Reserved for future purposes