bueno no especificas que lenguajes utilizas para la programación... tampoco qué pretendes conectar mediante i2c si una memoria si otro pic etc.
primero si no va a ser una memoria mira en el datasheet si tiene modulo spi, que es la interrupción de llegada de algun byte por el i2c.
En ccs (compilador c) es facil
defines dirección i2c, y patillas, luego si es master, usamos read y write y a correr
- Código: Seleccionar todo
//VITAL '06
//Ejemplo que demuestra como conectar
//un pic a una memoria i2c y muestra resultados por lcd
#INCLUDE <16F628.H>
#fuses INTrc_io,NOWDT,NOBROWNOUT,NOPROTECT,NOPUT,NOLVP,NOMCLR //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz
#define EEPROM_SDA PIN_A0
#define EEPROM_SCL PIN_A1
//#define EEPROM_SIZE 1024
#define use_portb_lcd
#INCLUDE <2408.C>
#INCLUDE <lcd.c>
void main() {
char caracter[16];
char i,j=0;
//iniciamos lcd
lcd_init();
lcd_putc("\fIniciando...");
delay_ms(2000);
lcd_putc("\fIniciando...\n EEPROM");
init_ext_eeprom();
while(ext_eeprom_ready())
{
for (i=0;i<EEPROM_SIZE;i++)
{
if (i>15){
//desplazamos los caracteres a la izquierda
for (j=0;j<15;j++)
{
caracter[j]=caracter[j+1];
}
caracter[15]= read_ext_eeprom(i);
printf(lcd_putc, "\fLeido \n%s", caracter);
delay_ms(500);
}
else
caracter[i]= read_ext_eeprom(i);
}
}
}