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 address (binary notation, MSB first) 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

Address Details