
A message contains the various number of Frames in which one frame contain the address of the slave, and remaining frames for data to be transmitted. It is basically a memory device which stores information and retains it even when we remove the power. This EEPROM IC provides an I2C communication interface. In I2C data transfer occurs in Message Frames which are then divided into Frames of Data. 24C04 is a two-wire serial EEPROM which is an abbreviation of Electrically Erasable Programmable Read-Only Memory. Wire.begin(address): Use: This library is used for making communication with I2C devices.
The libraryWe need to learn about the Wire library used in Arduino IDE. This shows the working of I2C in Arduino. Before we get start into programming I2C using two Arduino. The maximum number of Slave devices that can be used while using 7-bit addressing are 112 devices and the Maximum number of Slave devices used in 10-bit addressing is 1008 devices. Addresses need to be unique on the Bus to determine the slave where to transmit the data. The master device needs no address since it generates the clock (using SCL) and addresses individual I2C Slave devices. SDA: The Data Line used for transmitting the data between devices.Įach I2C Slave devices have 7-bit addressing or also can have 10-bit addressing.SCL: The clock line used to synchronize all data transfers over the I2C bus.I2C uses only two wires SCL (Serial Clock) and SDA (Serial Data).Also, It can be said that I2C is a bus for communication between a master (or can be multiple masters) and a single or multiple slave devices.

I2C (Inter-Integrated Circuit) is a serial protocol for a two-wire interface to connect to low-speed devices like Micro-controller, EEPROMs, I/O Interfaces and other similar devices in Embedded Systems. Arduino Wire compatible library, supporting IC, I2C, IIC and/or (Two Wire Interface) TWI for Atmel ATTiny microprocessors utilizing the Universal.
