void InitPorts()
{
LATA = 0xFF00;
TRISA = 0xFF00;
AD1PCFGH = 0xFFFF;
}
void InitClock()
{
PLLFBD = 38; // M = 40
CLKDIVbits.PLLPOST = 0; // N1 = 2
CLKDIVbits.PLLPRE = 0; // N2 = 2
OSCTUN = 0;
RCONbits.SWDTEN = 0;
// This will switch the FRC clock to use external; XTPLL
__builtin_write_OSCCONH(0x03); // Initiate Clock Switch
__builtin_write_OSCCONL(0x01); // Start clock switching
while(OSCCONbits.COSC != 0b011); // Wait for Clock switch to occur
while(OSCCONbits.LOCK != 1) {};
}
int main(void)
{
InitClock();
InitU2();
InitPorts();
U2TXREG = 0xFE;
U2TXREG = 0x58;
char Txdata[] = {'L','E','D',' ','1','0',' ','i','s',' ','O','F','F','\0'};
int i = 0;
while(Txdata[i])
{
while( U2STAbits.UTXBF); // wait while Tx buffer full
U2TXREG = Txdata[i];
i++;
}
while(TRUE)
{
PORTAbits.RA0 = 1;
PORTAbits.RA1 = 1;
PORTAbits.RA2 = 1;
PORTAbits.RA3 = 1;
PORTAbits.RA4 = 1;
PORTAbits.RA5 = 1;
PORTAbits.RA6 = 1; [COLOR="Red"][B] //This is D9[/B][/COLOR]
PORTAbits.RA7 = 1;
}
}