Hola estoy tratando de guardar un dato cualquiera en una eeprom una 24c128, he tomado ejemplos por ahi y nada, cuando el programa llega a init_ext_eeprom(); se queda colgado en forma indefinida, le quito esta instruccion y funciona hasta que le llega a la instruccion de escritura, ahi tambien se queda colgado, el ejemplo es muy simple solo guardar en la eeprom un dato leido en la entrada analogica, A0.
#include <16F877.h>
#device adc=10
#include <MATH.h>
#use delay(clock=4000000)
#fuses XT,NOWDT
#define EEPROM_SCL PIN_C3
#define EEPROM_SDA PIN_C4
#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
#include <24128.C>
#include <LCD.C>
void main() {
float value, dato;
int a,d;
init_ext_eeprom();
lcd_init();
printf(lcd_putc,"Iniciando...
por favor espere"

;
setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL );
set_adc_channel(0);
delay_ms(5000);
printf(lcd_putc,"f"

;
a=0x2100;
do{
delay_ms(1000);
printf("f"

;
delay_ms(500);
value=read_adc();
write_ext_eeprom(a, value);
dato=(value*5)/1024;
printf(lcd_putc,"Dato %1.4f
Valor %1.4f
",dato,value);
#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
printf("Valor :%1.4f
",value);
}while(true);
}
espero que alguien me pueda dar una mano, gracias a todos