En el PIC16F1829, FERR
reflejan el estado de error de encuadre del byte superior en la FIFO de recepción serie de dos bytes. Por lo tanto, suponiendo que no llegan nuevos bytes con errores de encuadre, dos lecturas de RCREG deberían borrar siempre FERR.
Sin embargo, es posible que esté leyendo demasiado en esta Nota en la hoja de datos del PIC16F1829 para la USART. La sección relevante es 26.1.2.4 en la página 287:
Si todos los caracteres recibidos en la FIFO de recepción tienen errores de encuadre, las lecturas repetidas del RCREG no borrarán el bit FERR.
Este parece para implicar que si ambos bytes en el FIFO tuvieran errores de encuadre, FERR se quedaría atascado para siempre. Esto me parece un poco improbable pero, al mismo tiempo, la hoja de datos describe cómo forzar el borrado de FERR reseteando el EUSART.
¿Alguien tiene alguna aclaración? Iba a contar si los bytes consecutivos daban lugar a un error de encuadre, pero si no tengo que hacerlo, ¡estaría bien!