El puerto serie del microcontrolador PIC no puede enviar ni recibir continuamente
/warden/236267/message.aspx
El ejemplo anterior se completa en forma circular y tiene limitaciones en muchos lugares.
Nota al utilizar la interrupción de transmisión para el USART del PIC: una vez que el registro TXREG transfiere datos al registro TSR (que ocurre en un TCYCLE), el TXREG está vacío y el bit de interrupción TXIF (PIR1<4>) se borra. Es decir, mientras no haya datos en TXREG, se establecerá el indicador de interrupción TXIF.
Puede lograr esto: desactive la interrupción de TX, coloque los datos que se enviarán en el TX_BUF[] definido, luego active la interrupción de TX, envíe el TX_BUF y apague la interrupción de TX después de enviar los datos!
Espero que esto ayude.
if(RCIF==1)
{
v = RCREG
rxstr[rx_count]=v;
PrintChar(rxstr[rx_count]);//¿Cuál es el prototipo de PrintChar?
rx_count++;
if(rx_count >7)
testcomflag =1;
}
// RCIF=0; Elimina estas dos oraciones, no es necesario agregarlas
// RCIE=1;
1. Toma las dos últimas oraciones.
2. ¿Cuál es tu prototipo de PintChar?