For UART PC to PC Serial Communication: Go on Project -> Right Click -> Properties-> Simulation-> Option Categories->Uart1 IO Option-> Enable It
Program:
/*Baud Rate GENERATION * n => required baudrate * BRGH = 0 * SPBRG = (Fosc / (64 * n)) -1 * For 9600 baudrate, SPBRG ~=77 */ #include<xc.h> #define Fosc 48000000UL void InitUART(unsigned int baudrate) { TRISCbits.RC6 = 0; //TX pin set as output //RX pin set as input TRISCbits.RC7 = 1; SPBRG = (unsigned char)(((Fosc /64)/baudrate)-1); BAUDCON = 0b00000000; //Non-inverted data; 8-bit baudrate generator TXSTA = 0b00100000; //Asynchronous 8-bit; Transmit enabled; Low speed baudrate select RCSTA = 0b10010000; //Serial port enabled; 8-bit data; single receive enabled } void main(void) { InitUART(9600); char a[8]="\nwelcome"; for(int i=0;i<8;i++) { while(TXIF==0); // Wait till the transmitter register becomes empty TXIF=0; TXREG=a[i]; } do { while(RCIF==0); // Wait till the data is received RCIF=0; TXREG=RCREG; }while(1); }
Output:
Fig: Before Sending Message
Fig: Received Message: