Es en la repeción, estoy trabajandola con interrupción y por seguridad quiero limpiar el buffer una vez que la cadena se haya completado.
Para esto me imagino que debe de bastar con poner lo siguiente:
RCREG=0; // Para el caso de la recepción
TXREG=0; // Para el caso de la transmision
o hay algo mas que deba considerar?
Saludos y gracias por las prontas respuestas
El RCREG es solo lectura, con hacerlo 0 no lo limpias. Para limpiarlo (y su correspondiente flag) debes leerlo como te indicó suky.
El de transmisión, si lo pones en 0 y tienes la usart habilitada, estas transmitiendo un hermoso 0 por el pin TX
así que cuidado con eso.
La pregunta de como limpiar el buffer de salida es porque creo recordar en los micros con EUSART había un par de cositas a tener en cuenta para evitar que se envie el primer byte erroneo. Como en mis aplicaciones las transmisiones son constantes y con chequeo de error en ambos extremos no me preocupa si el primer byte sale o no al encender el pic, pero si esa es tu pregunta se puede ahondar en el tema. No obstante si lo que queres es asegurarte de no tener "basura" cuando estas procesando el mensaje podes o bien leer todo el buffer varias veces (tiene hasta 3 bytes de capacidad) o bien apagar la usart de recepción y la de transmisión mientras haces lo que queires hacer con esa información