Inter-integrated circuit (I2C) DDK

An inter-integrated circuit (I2C) is a serial communication protocol designed for low-speed, short-distance communication between integrated circuits on a board. The I2C bus requires only two lines: SDA (Serial Data Line) and SCL (Serial Clock Line). The SDA line carries the data between the master and slave devices, while the SCL line provides the clock signal used to synchronize this data transmission. Communication occurs by toggling the voltage levels on the SDA line between low and high states, which represent binary data. These transitions are timed according to the clock signal on the SCL line, allowing the receiving device to interpret the data as a synchronized stream of bits. This simplicity makes I2C ideal for connecting multiple low-speed peripherals over a shared bus with minimal wiring.

The I2C driver is an executable program and requires that you implement the I2C driver functions. You must static-link the driver against the I2C DDK libi2c-master.a library, which provides the main entry point function (main()) that starts the resource manager and calls implemented functions to initialize the driver and facilitate communication. This is illustrated in the following diagram:


I2C driver communication
Page updated: