This is a general use PIC32 comms UART handler.

A half duplex bus is assumed (receive something then transmit a response, so RS485 bus friendly, but its easy to adapt the code to make full duplex instead (tx and rx independently).

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

Get the files from our GitHub repository here.