Hola de nuevo
Pues esto es lo ultimo que he hecho
#include <18f4320.h>
#use delay(clock=3579545)
#fuses XT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP,NOWDT
#define EEPROM_SDA PIN_C4
#define EEPROM_SCL PIN_C3
#use rs232(baud=9600, xmit=PIN_c6,rcv=PIN_c7)
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL, FORCE_SW)
#include <24LC512.c>
long int dir;
long int val;
main()
{
val=0;
delay_ms(50);
printf("Grabando...");
delay_ms(500);
init_ext_eeprom();
for(dir=0;dir<=65535;++dir)
{
write_ext_eeprom(dir,val);
val=val+1;
if (val>255)
{
val=0;
output_toggle(PIN_A1);
}
delay_ms(1);
}
//write_ext_eeprom(0,0);
//delay_ms(1);
//write_ext_eeprom(32768,127);
//delay_ms(1);
//write_ext_eeprom(65535,255);
//delay_ms(1);
delay_ms(500);
printf("Leyendo...");
delay_ms(200);
printf("Iniciando Transmision");
for(dir=0;dir<=65535;++dir)
{
printf(" %lu --> %u",dir,read_ext_eeprom(dir));
delay_ms(500);
}
//printf(" 0 --> %u", read_ext_eeprom(0));
//delay_ms(500);
//printf(" 32768 --> %u", read_ext_eeprom(32768));
//delay_ms(500);
//printf(" 65535 --> %u", read_ext_eeprom(65535));
//delay_ms(500);
printf("Fin de la Transmision");
delay_ms(1000);
while(true)
{
}
}
Cuando utilizo lo que tengo comentado funcionó perfectamente pero cuando lo quito el programa tal cual lo muestro se tarda mucho, no se si por obvias razones o el pic esté haciendo otra cosa. De hecho coloqué un led para ver lo que pasaba y pues este sigue parpadeando. Al incluir el archivo 24LC512.c, la grabación se hace byte a byte. De todos modos voy a hacer otro programa y se los muestro.
Gracias