# Se puede conectar un UART a un USART?



## santes (Jul 24, 2011)

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


----------



## kuropatula (Jul 25, 2011)

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?


----------



## santes (Jul 25, 2011)

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


----------



## kuropatula (Jul 25, 2011)

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


----------



## santes (Jul 26, 2011)

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 

Seguimos en contacto master 


Gracias


----------



## kuropatula (Jul 27, 2011)

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


----------



## santes (Jul 27, 2011)

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.


----------

