elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica (Moderador: skapunky)
| | |-+  Problema con USART en un PIC18F2550
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con USART en un PIC18F2550  (Leído 1,750 veces)
Basu80

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Problema con USART en un PIC18F2550
« en: 31 Enero 2013, 15:02 »

Buenas a todos,

Estoy trasteando con unas cosillas en casa y tengo unas dudas que no consigo resolver. Si alguno de vosotros pudiera arrogarme algo de luz, me salvaría la vida.

El caso es que intento coger unos datos con mi PIC18F2550 a través de su módulo USART y no hay manera. La información en principio llega bien, lo he probado encendiendo y apagando leds y parpadean, así que el problema no está en los datos que recibo sino en la forma de cogerlos.

Lo que hay en el pin de recepción de la USART (pin 18 del pic) es:

Un "1" lógico constante hasta que llegan los datos. A partir de ahí, es una cadena de varios bytes, durante medio segundo aproximadamente, con diferentes valores. Después vuelve a ponerse a "1" lógico el señal y así hasta la próxima vez que deban llegar los datos. El rate de transmisión son 1200 bps.

La declaración de los fuses que tengo es la siguiente, por si fuera de ayuda para encontrar el problema:

Código:
#fuses MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOVREGEN,NOPBADEN // Fuses a declarar
#pragma config PLLDIV = 5
#pragma config CPUDIV = OSC1_PLL2
#pragma config USBDIV = 2
#pragma config FOSC = HSPLL_HS

Y las líneas para la USART:

Código:
OpenUSART(USART_TX_INT_OFF & USART_RX_INT_ON & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_LOW, BAUD_RATE_GEN);
getsUSART((char *)Rxdata, numbytes-1);
CloseUSART();

Sé que el parámetro llamado BAUD_RATE_GEN debe calcularse como [Fosc / (64*Baudrate)]-1 pero no sé si es porque lo estoy calculando mal o que estoy haciendo alguna otra cosa que no debe hacerse de esa forma, no consigo que funcione. Lo único que recibo son cadenas de "0"s e imagino que es porque la variable Rxdata la tengo inicializada así.

¿Alguna idea? ¿Debo definir el pin de alguna forma especial? Por el momento solo lo tengo definido como entrada, no he visto nada más al respecto en el datasheet.

Muchas gracias de antemano.


PD: El cristal conectado al pic es de 20MHz y estoy programando con MPLAB en C.


En línea

Firos
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.409


Enseña lo que sepas... y oculta lo peor...


Ver Perfil
Re: Problema con USART en un PIC18F2550
« Respuesta #1 en: 1 Marzo 2013, 17:15 »

¿Quien manda los datos a través de la USART para recibirlos en el PIC18F2550?


Mira los datasheets de ambos, por normal general suelen incluir una tabla donde especifican la cantidad exacta que tienes que cargar para trabajar a X baudios (9600? mira a ver si aparece en los datasheets). Y si configuras los dos con lo mismo para que trabajen a los mismos baudios, la conexión estaría bien. Después de eso deberías mirar las ordenes de recepción (en caso de que la transmisión sepas que va perfecta, sino compruébala también).


En línea

El final del camino no está determinado, lo determinamos nosotros mismos paso a paso, día a día, y se puede cambiar.
skapunky
Electronik Engineer &
Moderador
***
Desconectado Desconectado

Mensajes: 3.637


www.killtrojan.net


Ver Perfil WWW
Re: Problema con USART en un PIC18F2550
« Respuesta #2 en: 2 Marzo 2013, 14:53 »

Yo creo que el problema radica en la configuración de la transmissión. Cuando hice el proyecto de final de carrera, un compañero mio en su proyecto recibía info de un sensor al pic y me recuerda mucho tu problema al problema principal que tuvo el con la transmissión.

Configura 9600 baudios, 8 bits y sin paridad. El problema de mi compañero, en concreto, si mal no recuerdo fue los bits que recibia del sensor.
En línea

Killtrojan Syslog v1.40: ENTRAR
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines