Hola Mlo, he tratado de seguir tus consejos pero no doy con la solucion a mi problema, tendrias la amabilidad de poner un ejemplo o retocar mi codigo, te agradecera
#include <16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#include <stdlib.h>
const char ID[]="placa-0001";
// Variables Globales ///////////////////////////////////////////////////////////////////
char buffrec[2]; // Buffer de Recepcion
int xbuffrec=0x00; // índice del Buffer de Recepcion
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7,STREAM =USART_FISICO)
#use rs232(baud=9600, xmit=PIN_B6, rcv=PIN_B7,STREAM=USART_VIRTUAL)
void main()
{
char xcommand[2];
//
//
//
fprintf(USART_FISICO,"Inicializando el Controlador,%s",ID);
delay_ms(200);
while (TRUE){
xbuffrec=0x00;
if (kbhit(USART_FISICO)){
buffrec[xbuffrec++]=fgetc(USART_FISICO); // lo recibo y lo añado al Buffer de Recepcion
strcpy(xcommand,"OK");
if(!strncmp(buffrec,xcommand,strlen(xcommand))){
fprintf(USART_FISICO,"Comando Recibido\r\n");
}
}
}
}