This code demonstrates use of I²C Library functions. PIC MCU is connected
(SCL, SDA pins ) to 24c02 EEPROM. Program sends data to EEPROM (data is
written at address 2). Then, we read data via I2C from EEPROM and send its
value to PORTD, to check if the cycle was successful (see the figure below how to
interface 24c02 to PIC).
MikroElektronika:
Development
tools
-
Books
-
Compilers
19 1
page
mikroC
- C Compiler for Microchip PIC microcontrollers
mikroC
making it simple...
void main(){
PORTB = 0;
TRISB = 0;
I2C_Init(100000);
I2C_Start();
// Issue I2C start signal
I2C_Wr(0xA2);
// Send byte via I2C (command to 24cO2)
I2C_Wr(2);
// Send byte (address of EEPROM location)
I2C_Wr(0xF0);
// Send data (data to be written)
I2C_Stop();
Delay_ms(100);
I2C_Start();
// Issue I2C start signal
I2C_Wr(0xA2);
// Send byte via I2C (device address + W)
I2C_Wr(2);
// Send byte (data address)
I2C_Repeated_Start();
// Issue I2C signal repeated start
I2C_Wr(0xA3);
// Send byte (device address + R)
PORTB = I2C_Rd(0u);
// Read the data (NO acknowledge)
I2C_Stop();
}
Library Example