Autor Tema: Problema con la UART, utilizando la libreria uart.h  (Leído 2569 veces)

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

Desconectado Milo

  • PIC16
  • ***
  • Mensajes: 101
Problema con la UART, utilizando la libreria uart.h
« en: 12 de Julio de 2006, 07:04:55 »
Buennass:

Estoy haciendo un programilla para transmitir datos por la uart con un dspic3013. Tengo un problemilla el dato me lo envia y lo veo por el terminal pero el programa se me queda colgado y lo que veo por el terminal es que se repite el dato una y otra vez. El programa es muy sencillo y no consigo saber por que hace eso, el programa es el siguiente, si alguien tiene alguna idea de lo que puede ser se lo agradecería mucho,

un saludo, Milo

int main(void)
{
      

   unsigned int baudvalue;         
   unsigned int U2MODEvalue;      
   unsigned int U2STAvalue;

   TRISDbits.TRISD8=0;   
   PORTDbits.RD8=0;   
            
   CloseUART2();               
   
   ConfigIntUART2(UART_RX_INT_DIS & UART_RX_INT_PR6 & UART_TX_INT_DIS & UART_TX_INT_PR2);
      
   baudvalue = 191;      //9600 baudios, PLLx16 y XT a 7.3728 Mhz
   //baudvalue = 25;      //9600 baudios, PLLx4 y XT A 4Mhz
   
   U2MODEvalue =    UART_EN & UART_IDLE_CON & UART_RX_TX &
                  UART_DIS_WAKE & UART_DIS_LOOPBACK &
               UART_DIS_ABAUD & UART_NO_PAR_8BIT &
               UART_1STOPBIT;

   U2STAvalue =    UART_INT_TX_BUF_EMPTY &
               UART_TX_PIN_NORMAL &
               UART_TX_ENABLE & UART_INT_RX_3_4_FUL &
               UART_ADR_DETECT_DIS &
               UART_RX_OVERRUN_CLEAR;

   OpenUART2(U2MODEvalue, U2STAvalue, baudvalue);
   
   WriteUART2(0x65);
   
   while(BusyUART2());
   WriteUART2(0x5F);
   while(BusyUART2());
   
   CloseUART2();
   PORTDbits.RD8=1;
   
   return 0;
}

Lo que se me vería en el terminal (configurado en HEX) sería esto:

65 5F 65 5F 65 5F 65 5F 65......
"En tanto que haya alguien que crea en una idea, la idea vive" Ortega y Gasset

Desconectado JavisusII

  • PIC12
  • **
  • Mensajes: 79
Re: Problema con la UART, utilizando la libreria uart.h
« Respuesta #1 en: 12 de Julio de 2006, 08:23:04 »
Hola amigo

Los expertos en C te responderán mejor que yo, pero creo que el último return te reinicia la subrutina  principal.

Un saludo.

Xavi (Barcelona)

Desconectado Milo

  • PIC16
  • ***
  • Mensajes: 101
Re: Problema con la UART, utilizando la libreria uart.h
« Respuesta #2 en: 13 de Julio de 2006, 04:54:06 »


Gracias por la ayuda Xavi, pero no es del return del main, seguiré probando a ver si lo consigo averiguar, aunque ya no se que hacer,

Un saludo.
"En tanto que haya alguien que crea en una idea, la idea vive" Ortega y Gasset

Desconectado Milo

  • PIC16
  • ***
  • Mensajes: 101
Re: Problema con la UART, utilizando la libreria uart.h
« Respuesta #3 en: 18 de Julio de 2006, 14:10:37 »

Pues si, si era del return del main, que me reiniciaba constamente el main y se me colgaba, se soluciona con un while(1) antes del return.

Un saludo
Emilio
"En tanto que haya alguien que crea en una idea, la idea vive" Ortega y Gasset


 

anything