Bueno amigos seguimos igual
la verdad no se que es lo que le pasa estoy pensando ya que tengo rota la Eeprom . lo que hace es lo siguiente : modifique el ejemplo de el maestro VsZeNeR que introduce 4 mensajes en el Eeprom para mi 16f877
char men1[]="VsZeNeR'05"; //declaracion de...
char men2[]="Hola";
char men3[]="Foro";
char men4[]="TODOPIC!"; //...mensajes a escribir y leer por 25LC256
solo me sale "TODOPIC!"; en la posición 0 y lo demás me nada( @) con mis ejemplos me hace lo mismo me grava solo una posiciones es problema mio o la Eepron tiene algún problema cheque la conectivo de pines condensadores resistencias están bien .
les doy el ejemplo para que vean gracias por cualquier consejo:
#include <16f877.h> //pic a utilizar
#use delay(CLOCK=4000000) //Fosc=4Mhz
#fuses XT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP,NOWDT //comandos para el programador
#define use_portb_lcd TRUE //utilizar el port b para lcd
#define LCD_DB4 PIN_D4 //
#define LCD_DB5 PIN_D5 // definicion de pines para lcd
#define LCD_DB6 PIN_D6 //
#define LCD_DB7 PIN_D7 //
#define LCD_RS PIN_A1 //
#define LCD_RW PIN_A2 //
#define LCD_E PIN_A3 //
#define EEPROM_SDA PIN_C4 //definimos los pines donde...
#define EEPROM_SCL PIN_C3 //la eeprom ira conectada
#include <24256.c> //libreria de eeprom externa 24LC256
#include "flex_lcd_c.c" // libreria flex_lcd_c.c
///PROGRAMA
void main(void){
int dir=0; //direccion de eeprom a escribir y leer mensajes
char men1[]="VsZeNeR'05"; //declaracion de...
char men2[]="Hola";
char men3[]="Foro";
char men4[]="TODOPIC!"; //...mensajes a escribir y leer por 25LC256
lcd_init(); //inicializa lcd
init_ext_eeprom(); //inicializa eeprom
lcd_putc("~ Escribiendo en...\n24LC256\n");
delay_ms(1000);
write_ext_eeprom(dir,men1); //proceso de escribir...
delay_ms(1000);
dir++;
write_ext_eeprom(dir,men2);
dir++;
delay_ms(1000);
write_ext_eeprom(dir,men3);
dir++;
delay_ms(1000);
write_ext_eeprom(dir,men4); //...los mensajes en la eeprom externa
lcd_putc("\fFin de escritura en\n24LC25");
delay_ms(1500);
lcd_putc("\f>>>Leyendo...\n");
for(dir=0;dir<4;dir++){ //bucle para leer mensajes en eeprom externa y muestra por lcd
printf(lcd_putc,"\n %d ~ %s",dir,read_ext_eeprom(dir));
delay_ms(1500); //retraso para que se vea en pantalla los mensajes
lcd_putc("\n "); //borrado 2ºlinea de lcd
}
output_a(0b00); //apago port a
lcd_putc("\fFin de lectura!");
for(;
{ //animacion...
for(dir=1;dir<8;dir++){
lcd_gotoxy(dir,2);
lcd_putc("VsZeNeR'05");
delay_ms(200);
lcd_putc("\n ");
}
for(dir=6;dir>1;dir--){
lcd_gotoxy(dir,2);
lcd_putc("VsZeNeR'05");
delay_ms(200);
lcd_putc("\n ");
}
} //...final
}