TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: prossis en 18 de Mayo de 2004, 10:57:00
-
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
-
ola no te puedo ayudar mucho ya que no soy ningun genio del c pero ya e tenido problemas parecidos y nadie me a conseguido ayudar las soluciones a mis problemas las encontre en el foro de ccs e me acuerdo que en el foro de ccs ay muchos exemplos que usan esse tipo eeprom haz una busca por i2c e veras como encuentras ayuda
aqui lo tienes
http://www.ccsinfo.com/forum/index.php?sid=9940e7e7aabed2e058f0fa1d9ac053e0
solo tiene un pequenho problema e es que esta en ingles pero
-
vuelve a definir el uso del i2c en el archivo 24128.C quitando las definiciones que tienes por defecto y escribelas como realmente lo tienes montado.
no lo uses en modo fast.
saludos
-
En lugar de programar con eeprom prueba con las de ramtron es un tipo nuevo de ram que guarda la informacion sin necesidad de voltaje, es mas rapida que la eeprom y no se estropea a con los ciclos de escritura y borrado.(fm24c256).
www.ramtron.com