pessoal...ja utilizei a interrupcao int_rda no exemplo abaixo e funcionou beleza.
Gostaria de entender poque nao funciona quando coloco a avaliacao de chegada de caracteres dentro do laco while.
obrigado a todos
Muganga
#include <16F628A.h>
#include <stdio.h>
#use delay(clock=4000000)
#fuses INTRC_IO, NOLVP, NOWDT, PUT, BROWNOUT
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1, stream = com_pc)
char receive[4] = {""};
main() {
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
delay_ms(1000);
output_low (PIN_B6);
while(true) {
receive[0]=fgetc(com_pc);
receive[1]=fgetc(com_pc);
receive[2]=fgetc(com_pc);
if ((receive[0] == 1) && (receive[1] == 2) && (receive[2] == 3))
{
output_high(PIN_B6);
}
}
}