void interrupt() iv 0x0008 ics ICS_AUTO
{
Max_Control=0;
if(RCIF_bit==1){
if ((RCSTA.OERR )/*&& (RCIE_bit==1)*/){
RCSTA.CREN = 0;
Nop();
Nop();
RCSTA.CREN = 1;
Garbage=RCREG;
Garbage=RCREG;
RCIF_bit=0;
}
else{
sdata=RCREG;
input_string[index]=sdata;
}
}
}
void main{
TXSTA = 0b00100000;
RCSTA = 0b10010000;
BAUDCON.BRG16 = 0;
TXSTA.BRGH = 0;
//SPBRGH:SPBRG = 129; //for 20MHz crystal
SPBRG = 12; //for 8MHz crystal
/*UART1_Init(9600);
Delay_ms(200);*/
IPR1.RCIP = 1;
IPR1.TXIP = 1;
RCON.IPEN = 1;
PIE1 = 0b00100000; //RCIE bit enabled
RCIP_bit=1; // see IPR1
while(1){
}
}