/********************************************/
/*UART Code                                  */
/*                                          */
/*PIC32MX795F512L-80I/PF                    */
/********************************************/

#include "xc.h"
#include "UART.h"

void UART1_Init(void)
{
    //clear byte array counter
    UART_Count = 0;
    
    //Enable RX Interrupt
    IEC0bits.U1RXIE = 1;
    
    //RX Enable
    U1STAbits.URXEN = 1;
    
    //High BAUD rate enable
    U1MODEbits.BRGH = 0;
    
    //Set BAUD Rate
    U1BRG = 129;   //38400 BRGH = 0
    //U1BRG = 86;  //57600 BRGH = 0
    //U1BRG = 520; //38400 BRGH = 1
    //U1BRG = 346; //57600 BRGH = 1
    //U1BRG = 175; //115200 BRGH = 1
    //U1BRG = 86;  //230400 BRGH = 1
    
    //RTS/CTS
    U1MODEbits.UEN = 0;
    
    //CTS
    TRISDbits.TRISD14 = 0;    
    PORTDbits.RD14 = 0;
        
    //RTS
    TRISDbits.TRISD15 = 1;
    
    //clear status register
    //U1STA = 0;

    U1MODEbits.ON = 1;

    //Clear Interrupt
    IFS0bits.U1RXIF = 0;    
    
    //TX Enable
    U1STAbits.UTXEN = 1;
    
    return;
}

