problema al iniciar imagen uart

1

Esta es la primera pregunta en el intercambio de pila. Bien, estoy intentando iniciar UART del microcontrolador pic (familia PIC24F). Estudié los registros relacionados con uart en la hoja de datos y escribí el código para transmitir un carácter 'K', después de compilar el código, el terminal no muestra nada.

Aquí está mi código de archivo de cabecera:

void init_uart1()
{
 //initiate uart1
 RPOR4bits.RP8R = 3;   //pin8
 U1MODEbits.STSEL=0;
 U1MODEbits.PDSEL=0;
 U1BRG = 25;
 U1MODEbits.UARTEN=1;
 U1STAbits.UTXEN =1;

}

Aquí está mi archivo principal:

    TRISB=0x0000;  //0000 0000 0000 0000
    PORTBbits.RB8=0; //set outout PORTB 8th pin 

   init_uart1();
   while (1)
    { 
       while(U1STAbits.UTXBF == 1);
       U1TXREG='K';
    }

¿Qué hay de malo en mi código?

Thxns ...

    
pregunta mhicloud007

2 respuestas

1

Microchip proporciona funciones de biblioteca periférica que puede usar directamente en su programa en lugar de poner valores en los registros. Vaya a c\Program Files\Microchip\(your compiler)\docs ; encontrará mucha documentación o intente buscar PIC18/PIC24/PIC32 peripheral library . No he trabajado en PIC24 pero las funciones son las mismas para todas las series de MCU como PIC18 PIC24 PIC32 . Por ejemplo, para UART:

OpenUART(): to initialize UART channel.
putsUART(): to send string to your UART
getsUART(): to receive string from UART

puede utilizar estas funciones directamente y ahorrar su tiempo.!

    
respondido por el Aircraft
1

Tienes RPOR4bits.RP8R = 3; listado como pin8

Ya sea en el paquete DIP o el QFN RP8 no es el pin 8.

DIP RP8 - > pin 17

QFN RP8 - > pin 14

    
respondido por el vini_i

Lea otras preguntas en las etiquetas