This is a general use PIC24 comms UART handler.

The driver is full duplex bus so TX and RX can occur independantly

It automatically deals with variable packet length by including a length value in the packet.  It also automatically adds simple checksumming of the packet.

Get the files from our GitHub repository here.