Estoy intentando comunicar el PIC18F4550 con el módulo biomed. Soy muy nuevo para incrustar. Mi módulo envía un paquete de información de 5 bytes continuamente a 4800 baudios, 1 parada, paridad ODD.
He establecido mi velocidad en baudios perfectamente BRGH = 1, BRG16 = 1.
Mi principal es:
void main()
{
INTCON=0xC0;
RCSTA=0x80;
TXSTA=0x24;
BAUDCON=0x08;
PIE1bits.RCIE=1;
IPR1bits.RCIP=1;
SPBRGH=0x09;
SPBRG=0xC3;
RCSTAbits.CREN=1;
}
Mi ISR es:
void uart_isr(void)
{
if(PIR1bits.RCIF=1)
for(i=0;i<32;i++)
{
PORTD=RCREG;
if(RCSTAbits.OERR)
{ PORTBbits.RB6=~PORTBbits.RB6;
do{
temp = RCREG;
temp = RCREG;
temp = RCREG;
RCSTAbits.CREN = 0;
RCSTAbits.CREN = 1;
}while(RCSTAbits.OERR);
}
PORTD=PORTD-32;
buff[i]=PORTD;
myMsDelay(15);
}
}
}
Estoy recibiendo un montón de invasión. Por favor sugiera algún método para detener estos errores.