Red de conocimiento informático - Aprendizaje de programación - El puerto serie del microcontrolador PIC no puede enviar ni recibir continuamente

El puerto serie del microcontrolador PIC no puede enviar ni recibir continuamente

Le daré un ejemplo del controlador usart pic16f77;

/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?