Hola a todo les cuento lo que quiero hacer y luego el problema va asi:
quiero hacer un lector de tarjetas rfid,ya logre almacenar en la memoria eeprom los datos de mis tarjetas rfid que tiene 12 caracteres que este tiene,por medio de interrupciones capture la cadena me guié de lo pubicado por redpic
//Interrupcion:RDA recpecion USART
#int_rda
void serial_isr(){
char rcvchar=0x00;//ultimo caracter recibido
if(kbhit()){//verifico si el dato ya esta disponible
rcvchar=getc();//Lo descargo
cbuff[xbuff++]=rcvchar;//Lo añado al buffer
putc(rcvchar);//L o muestro
if(xbuff==12){
cbuff[12]=0x00;//Caracter nulo al final,asi sabe cuando se termina el string.
flagcommand=1;
Graba_eeprom(&cbuff);
void Graba_eeprom(char *apuntador){
while(*apuntador!=0x00){
write_eeprom(posi,*apuntador);//lo que esta dentro de la 1ra posicion de cbuff lo paso a posi
posi++;//aumento la dirrecion de memoria de la eeprom
apuntador=apuntador+1;//aumento la direccion donde se almancena cbuff
}
write_eeprom(posi,0x00);
}
bueno posi al inicio vale 0,luego 13,luego 26...etc
hasta hay todo bien...para modo de ejemplo guarde 3 tags(12 caracteres cada uno)
hay lo que quiero hacer es que al presentar una tarjeta me lea por la interrupción,y se compare con los que tiene internamente guardado la eeprom pero no se como hacerlo,he intentato hacer esto if(!strcmp(cmd,cbuff) rele=1;..cbuff el el tag externo y cmd debe contener los tag almacenados y quise poner la eeprom asi :
unsigned char cmd[2][13]={{read_eeprom(0),....read_eeprom(11)},{read_eeprom(13),....read_eeprom(24)},etc};//sale error
espero puedan orientarme o buscar otra manera de comparar la tarjeta con los ya guardados
