Hola.
En la rutina de interrupcion, pones el flag a 1
#int_RDA
void Serial_isr(void)
{
c=0;
c=getc();
FlagUSART=1;
}
Y en el main cambias el
if...
if(FlagUSART)
{
FlagUSART=0;
.....
}
...
Que tal amigos!
Aprovecho este enlace para hacerles una consulta
Tengo un pic16f876A @ 8Mhz
Y estoy empleando dos interrupciones una por el timer0 cada 5ms y otra por recepcion serial (int_rda) @ 9600bps, ahora bien el problema que presento, es con la interrupcion por recepcion, ya que no recibe el caracter que le envio (solo un caracter a la vez)
Estoy empleando los pines por hardware del pic para recepcion.
Alguna idea de que podra ser?
Gracias
Creo que la USART no va bien en CCS con algunos valores de cristales. Has probado con 4, 12 o 20MHz?
Saludos.