OERR: error de overrun al transmitir + USART

#1
Hola, tengo un problema algo raro. Cuando transmito varios bytes por la usart al 3 byte me salta error en el bit OERR. Pero lo raro es que yo no estoy utilizando RX, ni tengo el pin contectado!! Que puede ser!
Código:
//Includes
#include "p18f4550.h"
#include "delays.h"
#include "usart.h"

//Prototipos
    
//Bits de configuracion
#pragma config FOSC = HS, WDT = OFF, LVP = OFF, PLLDIV = 1
#pragma config VREGEN = OFF, WDTPS = 1, XINST = OFF, DEBUG = OFF
#pragma config MCLRE = ON, PWRT = ON, BOR = OFF
#pragma config PBADEN = OFF             //Pines del puerto B como digitales


#pragma code    
void main(void)
{
    
    TRISB = 0b00000000;                 //PuertoA como salida
    TRISA = 0b00000000;                 //PuertoB como salida
   
    //Configuro USART
    AX_SetupUSART();
   
 AX_SendByte(0xFF);               // 255
 AX_SendByte(0xFF);               // 255
 AX_SendByte(0xFE);               // 254  
 AX_SendByte(0x04);               // 004 <<-- OERR = 1 !!!
 AX_SendByte(0x03);               // 003 
 AX_SendByte(0x19);               // 025 
 AX_SendByte(0x01);               // 001 
 AX_SendByte(0xE0);               // 224 
}

Código:
void AX_SendByte(char toSend) { 
          while(BusyUSART()) {                  //wait for transmit register to be ready 
           } 
           WriteUSART(toSend); 
} //AX_SendByte()
Alguna ayuda? quiero entender que pasa. Yo lo solucione a lo bruto con
RCSTAbits.CREN=0;
RCSTAbits.CREN=1;
pero me sirve por ahora, ya que dsepues voy a hacer cosas mas complicadas.

gracias
 
Última edición:

Temas similares

Arriba