if(!kbhit())
{
fgets(buff1,com_soft); //reciber por el com software y guarda en buff1
output_high(led);
i++;
switch(i){
case 1: strcpy(buff2,buff1); //si es la primera vez lo copia en buff2
break;
case 2: if(strcmp(buff1,buff2)==0) //si confirma que es el mismo dato dentro de los proximos 500ms imprime por pto. harware
{
output_high(buzzer);
fprintf(com_hw,"%s%s\n\r", id, buff2);
memset(buff2, '0', sizeof(buff2));
var1=0;
var2=0;
var3=0;
output_low(buzzer);
i=0;
}
break;
}
}
Esta es la interrupción por software, cuando entra a la misma los 3 strings tienen correctamente cargados los datos según el programa.
Pero al hacer el strcpy para pasar los caracteres del buff1 al buff2, ambos se alteran o sino toman valores desplazados.
De verdad no sé por donde estaría el error... Adjunto una imagen si de pronto no me hago entender...
Gracias por tu tiempo MLO..