Address Detect Transmission
#include<xc.h>
#define FUART 4000000
#define BAUDRATE 9600
#define BRGVAL (((FUART/BAUDRATE)/16)-1)
int main(void) {
// Configure oscillator as needed
// Configure oscillator as needed
_RP23R = 9; // Assign U1TX to RP23
U1CONbits.MODE = 4; // Asynchronous 9-bit UART with address detect
U1CONbits.BRGS = 0; // Low-Speed Mode
U1CONbits.CLKSEL = 0; // FPB/2 as Baud Clock source
U1CONbits.STP = 0; // 1 stop bit
U1BRG = BRGVAL; // BRG setting for 9600 baud rate
U1CONbits.ON = 1; // Enable UART
U1CONbits.TXEN = 1; // Enable UART TX.
U1PAbits.P1 = 0x45; // Write the address1 value to Parameter1
/* Send data bytes for address1 */
U1TXB = 'a';
U1TXB = 'b';
U1TXB = 'c';
while(U1STATbits.TXMTIF == 0);
U1PAbits.P1 = 0x55; // Write the address2 value to Parameter1
/* Send data bytes for address2 */
U1TXB = 'd';
U1TXB = 'e';
U1TXB = 'f';
while(U1STATbits.TXMTIF == 0);
while(1)
{
}
return 0;
}