Se puede conectar un UART a un USART?

#1
HOla que tal compañeros, pues vengo con esa duda, Tengo un dispositivo que me manda una señal uart en código ASCII a 9600 baudios, en 14 bits, y quiero comunicarlo a un pic 18f4550, este tiene módulos USART, entonces quisiera saber si es posible poder configurarlos para usarlos tipo UART y poder hacer la comunicacion
 
#2
UART significa Universal Asincronous Receivert Transmitter, y USART es lo mismo, y la S significa Sincronous. Esto e que puede ser tanto asíncrona como sincrónica.
Por lo que si estás haciendo una comunicación Asincrónica te sirve sin problemas. Sospecho que tu comunicación es asíncrona. Que software usás para programar?
 
#3
Hora Kuropatula, Primero que nada ;Muchas gracias por ayudarme :)

El pic lo quiero programar con C, con un compilador llamado C18. es parecido al CSS.
La comunicacion, como tu lo as dicho será asíncrona.

Ahora viene el problema, la comunicación según la datasheet es que mi dispositivo, que es un letor de RFID envía una cadena de caracteres en ascci a 9600 baudios en protocolo UART

Esta es la forma de salida del lector en formato ascii.

Output Data Structure – ASCII

STX (02h) - DATA (10 ASCII) - CHECK SUM (2 ASCII) - CR - LF - ETX (03h)
[The 1byte (2 ASCII characters) Check sum is the “Exclusive OR” of the 5 hex bytes (10 ASCII) Data characters.]

Creo entender que El protocolo UART manda byte por byte, entonces, podría captarlos en arreglos si logro configurar los módulos USART del PIC para poderlo configurar como UART. El reto es hacerlo, y tengo este mes para lograrlo :)
 
#4
Si, tal cual decís...
Te va a llegar de a 1 byte, lo que te recomiendo es que uses la interrupción de la UART, guardes los datos en un array y luego incrementes el índice. Si el tamaño de los datos es constante, sólo tenés que leer hasta que el valor de índice sea igual a la cantidad de datos - 1.
Te recomindo que uses un compilador que se llama mikroC. Ese es el que uso yo y funciona muy bien, desde cosas simples hasta complejas, y para configurar la USART como querés sólo tenés que poner UART1_Init(9600).
Si utilizás el mikroc te puedo ayudar un poco más que con el C18... pero este otro es muy bueno también.

Me equivoqué, es leer hasta que la cantidad de datos es el índice - 1
 
Última edición:
#5
Que bueno leerte Kurapatula :)

Pues me ha encantado la idea de que me ayudes con la programacion en mikroC, nunca habia oido de el, así que me descargare el programa y empezare a hacer los tutoriales, para avanzar como se merece, supongo que este también tiene librerías así de completas como el C18. Pues a programar se ha dicho, y gracias nuevamente por ayudarme Kurapatula :apreton:

Seguimos en contacto master ;)


Gracias
 
#6
Bien, me alegra poder ayudarte :)

Te recomiendo que empieces programando algo en el mikroC, luchando un poco para conocer su funcionamiento. También podés simular los resultados en el PIC Simulator IDE, es una herramienta fundamental. Recordá que las curvas iniciales de aprendizaje de algo nuevo siempre son lentas y difíciles.

Si no llego a ver tus nuevas preguntas en el post, mandame un privado.
Saludos
 
#7
Bien, prometo no tardar mas de lo necesario para poder comprender el funcionamiento, gracias por todo esto kurpatula, pronto volverás a oír de mi :) hasta pronto. :cool:
 
Arriba