Generic full duplex UART driver for the PIC32