Al definir en la cabecera del programa la siguiente directiva:
#use rs232(baud=4800,parity=N,xmit=PIN_B0,rcv=PIN_B1,bits=8, stream=PC)
entonces el compilador genera por software una usart y si se activa la interrupcion por RB0 como sigue con flanco de bajada:
ext_int_edge(H_TO_L);
clear_interrupt(INT_EXT);
enable_interrupts(GLOBAL);
entonces ya tiene listo el uC para recibir datos por RB0 y transmitir por RB1,. Cuando llega un dato entonces se genera una interrupcion y allí lo recibes por ejemplo de esta manera:
#int_EXT
void EXT_isr()
char Trama[10];
{
fgets(Trama,PC);
}
Aunque el registro "Trama" lo debes definir en la cabecera del programa y no olvides que la instruccion fgets espera datos hasta que llegue el "enter" (0x0D)
Saludos,
gfp