hola a todos de nuevo, esta vez acudo a la sabiduría de ustedes por el tema de las memorias eeprom externas del pic. pero el punto de esto es que e leído y leído y leído sobre el tema, sin obtener buenos resultado, no se si será mi comprensión o en realidad es complicado o mas bien medio enredado esto de trabajar con estos dispositivos. bueno estoy asiendo un pequeño programa (una agenda), el cual de él se obtiene unos string de distintas dimensiones pero con un máximo de 40 caracteres, y estos los quiero guardar para poder acceder a ellos en el momento que los solicite, además de poder borrar estos caracteres, si es que ya no me sirven, es por esto que pretendo usar una eeprom externa para guardar estos string que se van generando a petición del usuario. el problema es que no entiendo como guardar los distintos string que se van generando, en la eeprom externa. ahora bien. ¿como puedo ir almacenando los distintos string que genero en la eeprom?, esto sin que ocupe espacian en el pic??
el código que estoy realizando para esto es solo de prueba y lo dejo acá para que lo vean. este solo hace que mediante un teclado matricial 4x4 pueda ingresar números, y esto lo va almacenando en un string denominado clave, el cual tiene como limite máximo de caracteres de 40 números. los valores pulsado como bien dije se guardan en clave pero al presionar la letra 'D' del teclado, el programa copia lo que tiene en ese momento el string clave a un segundo string, llamado string y luego de copiar los datos se borra el string llamado clave dejando solo el contenido en string. donde pretendo que los valores obtenidos por clave se almacenen en la eeprom externa, pero esto formando distintos string para cada ves que se le ingrese valores a clave. la idea es que a medida que ingreso datos al string clave, estos datos guardarlo en una "variable" y almacenarlo en la eeprom externa, para poder ocupar estos datos en el momento X que sea solicitado por el usuario, para así poder ver por una lcd lo que escribió el usuario en el momento X.
char clave[40],string[40],c;
signed char i;
int longitud,a;
///PROGRAMA
void main(void)
{
lcd_init(); //inicializa, o activa lcd
for(i=0;i<40;i++){
do{ //espera hasta...
c=kbd_getc();
}while(c==0); //...pulsar una tecla
if(c=='D'){
strcpy( string, clave );//Copia el contenido de cadena2 en cadena1
strcpy( clave," "); // borra string llamado clave
break;
}
clave[i]=c; /
if(i<20){
lcd_gotoxy(1,1);
printf(lcd_putc,"%s",clave);
}else{
lcd_gotoxy(-19,2);
printf(lcd_putc,"%s",clave);
}
}
lcd_gotoxy(1,1);
printf(lcd_putc,"separando la cadena ");
delay_ms(800);
printf(lcd_putc,"\f");
longitud=strlen(string); //devuelve el número de caracteres que tiene la cadena (sin contar el '\0').
if(longitud>18){
lcd_gotoxy(1,1);
printf(lcd_putc,"%s",string);
lcd_gotoxy(-19,2);
printf(lcd_putc,"%s",string);
}else{
lcd_gotoxy(1,1);
printf(lcd_putc,"%s",string);
}
}
PD: bueno esto lo estoy haciendo para agregárselo al reloj que hice hace algunos días atrás XD ->un reloj bastante enamoradiso.... para la reconsiliacion esta de lujos XD