El unico ejemplo que encontre fue este:
char uart_rd;
void main() {
CHECON = 30; // Esto es configuracion de puertos
AD1PCFG = 0xFFFF;
UART1_Init(56000); // Initialize UART module at 9600 bps
Delay_ms(100); // Wait for UART module to stabilize
UART1_Write_Text("Start");
UART1_Write(13);
UART1_Write(10);
while (1) { // Endless loop
if (UART1_Data_Ready()) { // If data is received
uart_rd = UART1_Read(); // read the received data
UART1_Write(uart_rd); // and send data via UART
}
}
}
Si observas para iniciarlo ahi utiliza otro valor para los 9600, sino usa el avanzado:
http://www.mikroe.com/download/eng/documents/compilers/mikroc/pro/pic32/help/uart_library.htmUARTx_Init_Advanced(unsigned long baud_rate, unsigned long freq_Khz, unsigned short high_low, unsigned short parity, unsigned short stop_bits);
UARTx_Init_Advanced(9600, 2000,_UART_LOW_SPEED, _UART_8BIT_NOPARITY, _UART_ONE_STOPBIT);
Ese te permite seleccionar la frecuencia del bus, es decir 8Mhz/4 son 2Mhz o 2000Khz, podrias probarlo.