Autor Tema: AYUDA PIC24 UART  (Leído 2414 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jorge_cbax

  • PIC10
  • *
  • Mensajes: 5
AYUDA PIC24 UART
« en: 27 de Diciembre de 2010, 16:00:01 »
Hola gente estoy tratando de configurar algunos perifericos del pic24, hice un proyecto que simplemente envia la letra A por la Uart1
pero al simular cuando le conecto el terminal al pin asignado, sale cualquier cosa menos la letra A.
Estoy trabajando con un cristal de 4Mhz y cuando calculo U1BRG para setear la velocidad, con ese cristal para envia a 9600bps me da 12.
luego de inicializar el puerto envio el caracter.
Yo estoy seguro que el problema esta en que no se como configurar bien el oscilador, entonces al no estar configurado el U1BRG calculado no va.. y el manda a una
velocidad desconocida.
Si ven algun error les pido que me corrijan porfavor. y alguna ayuda para setear el oscilador porque ya probe de mil formas! les dejo el codigo.

Código: [Seleccionar]
//////////////////////////////////////////////////////////
// PRENDER Y APAGAR UN LED EN EL PUERTO RD0
// CON UN SWITCH EN RB0 y enviar dato por UART
//////////////////////////////////////////////////////////
#include"p24FJ64GA002.h"

//CONFIGURACION DE LOS FUSES! VER EL .H PARA MAS DETALLES //
_CONFIG2( FNOSC_PRIPLL )


int main(void)
{
//OSCCON = 0x2200; //Use primary, no divide FCY = 10Mhz/2 = 5Mhz
    CLKDIV = 0x0000; //do not divide

AD1PCFG = 0xFFFF; // Configuro todos los pines como digitales
    TRISAbits.TRISA0=0; // Seteo el bit0 del puerto A como salida (led conectado en RD0)
    LATAbits.LATA0=0; // Pongo un 0 en la salida RA0(apago el led)
    INTCON2bits.INT0EP = 0; // detecto la polaridad del flanco de entrada con 0 fl positivo
TRISBbits.TRISB0 = 1; // Configuramos RB0 como entrada.
   
//CONFIGURACION DEL PUERTO SERIE //
RPOR1bits.RP3R  = 3; //UART1 transmit set to RB3
UART1Init(12); //Initiate UART1 to 9600 at 4MHz OSCI


char data = 'A';

   while(1)
    {
        if(PORTBbits.RB0==1) //Si el RB0 tiene un 1
        {LATAbits.LATA0=0; //apago el led sino lo prendo
        }
else
{LATAbits.LATA0=1;
}
    //send data back on UART TX line
  UART1PutChar(data);
}
}
Muchas gracias~!!!

Desconectado richardjr

  • PIC12
  • **
  • Mensajes: 69
Re: AYUDA PIC24 UART
« Respuesta #1 en: 28 de Diciembre de 2010, 11:12:56 »
Hola, con que compilador estas trabajando? C30?

Desconectado jorge_cbax

  • PIC10
  • *
  • Mensajes: 5
Re: AYUDA PIC24 UART
« Respuesta #2 en: 28 de Diciembre de 2010, 15:41:33 »
Hola, con que compilador estas trabajando? C30?
Si asi es con C30

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: AYUDA PIC24 UART
« Respuesta #3 en: 28 de Diciembre de 2010, 16:13:10 »
Revisa por aquí, puede que junto al datasheet te ayude a configurar el PLL y el módulo usart.


Saludos!
No contesto mensajes privados, las consultas en el foro


 

anything