Olá a todos,
Estou usando o DSPIC 30F2020 e estou tendo problelmas com a configuração da UART, eu coloco 194 no U1BRG que deveria dar 9600 mas está com 38400
alguem pode ajudar ? Segue abaixo o código.
Garcias
_FOSCSEL(FRC_PLL)
_FOSC(CSW_FSCM_OFF & FRC_HI_RANGE & OSC2_IO)
_FPOR(PWRT_128)
_FGS(CODE_PROT_OFF)
_FBS(BSS_NO_FLASH)
//*****************************************************************************
// Configuração do canal serial
//*****************************************************************************
void init_UART1(void)
{
U1BRG = 194; //ACERTO DO BAUD RATE 9600 ----> Mas está a 38400
U1MODEbits.UARTEN = 1; //HABILITA UART1
U1MODEbits.USIDL = 0; //MODO DESCONTÍNUO EM IDLE MODE
U1MODEbits.IREN = 0; //DESABILITA IrDA
U1MODEbits.WAKE = 0; //DESABILITA WAKE-UP QUANDO SLEEP OU IDLE MODE
U1MODEbits.LPBACK = 0; //DESABILITA LOOP-BACK
U1MODEbits.ABAUD = 0; //DESABILITA O AUTOBAUD
U1MODEbits.BRGH = 1; //CONFIGURAÇÃO DO BRGH
U1MODEbits.PDSEL = 0; //8 BITS DE DADO, SEM PARIDADE
U1MODEbits.STSEL = 0; //1 STOP BIT
U1STAbits.UTXISEL0 = 0; //CONFIGURAÇÃO DA INTERRUPÇÃO DE TRANSMISSÃO
U1STAbits.UTXISEL1 = 0;
U1STAbits.UTXINV = 0; //CONFIGURAÇÃO DO IrDA
U1STAbits.UTXEN = 1; //HABILITAÇÃO DO TX
U1STAbits.URXISEL = 1; //CONFIGURAÇÃO DA INTERRUPÇÃO DE RECEPÇÃO
IPC2bits.U1RXIP=7; // NIVEL DE PRIORIDADE DE INTERRUPÇÃO
}