Keil Logo

I²C Communication

The I²C Bus is a two-wire BUS system defined by NXP. The I²C Bus is bi-directional and is designed for simple but efficient control applications. It is widely used in embedded systems to interface a microcontroller with peripherals.

The system is comprised of two lines, SCL (serial clock) and SDA (serial data) that carry information between the IC's connected to them. All devices connected to the bus can be master or slave devices. Each device can be in one of the following modes:

  • Idle Mode: device is in high-impedance state and waits for data.
  • Master Transmitter Mode: the device transmits data to a slave receiver.
  • Master Receiver Mode: the device receives data from a slave transmitter.
  • Slave Receiver Mode: a number of data bytes are received from a master transmitter.
  • Slave Transmitter Mode: a number of data bytes are transmitted to a master receiver.

The I²C standard is described in the I²C BUS SPECIFICATION that is available at the NXP web page.

This section describes the following topics:

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.