Bit overrun and framing errors when receiving from PIC18F4680 EUSART
I know this is old but might be helpful incase anyone stumbles apon it like I did.

I was having issues with overrun errors in my PIC18F452 communicating to a beaglebone black over USART. With quite a busy program going on in both the beagle and the PIC, there was lots of data being sent between the two constantly. After some amount of time after using the instrument the PIC stopped receiving all messages.

After being stuck and baffled by this for more than 3 weeks, I found this:

http://www.piclist.com/techref/postbot.asp?by=thread&amp;id=%5BPIC%5D+PIC18+UART+stops+receiving&amp;w=body&amp;tgt=post

which described PIC code to handle and clear Overrun Errors:

if(OERR)
{
    do
    {
        temp = RCREG;
        temp = RCREG;
        temp = RCREG;
        CREN = 0;
        CREN = 1;

    } while(OERR);
}

if(FERR)
{
    temp = RCREG;
    TXEN = 0;
    TXEN = 1;
}


Running this snippet every now and then in the PIC program allowed me to recover from occasional overrun errors without restarting the PIC.

Hope that helps anyone with similar issues