This is what I do with DT_Interrupts on a serial stream of 115kBps on a PIC18F25k22 @44.2368MHz.

"Buffer" is a circular buffer of 256 bytes. When BufferReady = 1, I use another pointer (ParsePtr)...