comunicación serie

Buenas grupo.

Estoy liado con el proyecto final de carrera, y llevo unos días atascado en algo que en teoría debería ser simple. Tengo que comunicar vía puerto serie un PIC18F258 y el ordenador. De momento la parte de configuración de la USART en el micro está resuelta y comprobada, pero el problema se me plantea al recibir los datos en el ordenador (en mi portatil para poder trabajar en casa). Para hacer pruebas de comunicaciones he conectado el portatil a otro ordenador (hiperterminal en los dos ordenadores) y no soy capaz a hacer que comuniquen. Después de darle varias vueltas a las configuraciones de la conexión (baud rate, bits de datos, bits de stop, bits de paridad, control de flujo) y comprobar si el cable estaba montado correctamente con los pines Tx y Rx cruzados, empiezo a pensar que el problema está en el control del puerto serie en el portatil ya que tengo windows XP.

Cuando haceis pruebas de estas con el hiperterminal, como lo configurais? Si es por el control del puerto como me imagino, se puede hacer algo para lograr la comunicación??

Gracias y saludos whiter

Reply to
Whiter
Loading thread data ...

Cuidado con el puerto serie y el XP, tiene los mismos problemas que con el puerto paralelo y el acceso a bajo nivel. Vigila tener algun driver y su correspondiente vxd para trabajar con el puerto a bajo nivel. Userport para esto es la caña, no necesitas ni si quiera el parche del icprog para trabajar en XP ya que esto lo hace todo y no molesta.

-- "Por cierto, de sobra es conocido que no hay quien entienda lo que escriben los médicos a mano, pero resulta curioso comprobar que tampoco se les entiende al escribir a máquina." J. M. García

Saludos. snipped-for-privacy@ono.com

Reply to
RooT

puerto paralelo

para trabajar

mmmmmmm, los programas de windows no tienen ningun problema en acceder al puerto serie ya que usan las funciones del api para eso. Menos problemas tendrá el hiperterminal que es un programa que miles de personas usan para hacer conexiones de estas chorras (es decir, pruebas), porque para otra cosa creo que no sirve ;-)

Reply to
Nolo Pongo

Si no está desactivado de la bíos, no tiene porqué dar problemas.

¿ qué control de flujo usas ? Supongo que "ninguno", porque el pic no maneja esas lineas. Y si lo tienes en "hardware" deberás tener en el cable las lineas de control cruzadas tambien.

Yo estoy usando un cable que usa dos lienas de control para alimentar un max232 y no pude hacerlo andar con el hiperterminal, me tuve que hacer un programilla específico para eso, ya que así además de desactivar el control de flujo, ponía las lineas a 1.

De todas formas, siendo el portatil portatil, como su propio nombre indica, puedes llevarlo junto a otro pc y conectar ambos con el mismo cable (supuesto que solo es cable cruzado y no lleva un max232) y arrancar dos hiperterminales y probar.

En cuanto al PIC, solo con que este sea capaz de poner la linea a 'cero' por un instante, ya habrás conseguido que mande un caracter por el puerto serie, sería otra forma de probar.

tambien, si tienes osciloscopio (supongo que no) o un tester que te mida frecuencias, conectalo al pic para ver que hay 'trafico' en la linea.

Reply to
Nolo Pongo

No me he expresado bien, si las lineas de control están cruzadas (como las de datos) funcionará entre dos pcs pero no con un pic.

Lo que hay que hacer es conectar las dos lineas de control de salida a las dos lineas de control de entrada en el mismo conector, de forma que el cable solo tiene que tener 3 hilos, así es posible que el hiperterminal funcione.

Si compras un cable cruzado, las lineas van cruzadas de conector a conector.

Reply to
Nolo Pongo

Si yo te contara... los programas de windows usan las apis muy cierto, pero sigue ocurriendoles igual que les ocurre a todos los demas programas, la imposibilidad de manejar ciertas cosas a bajo nivel entre ellas, solo poder mandar bytes y no bits. De todas formas seria un tema a tratar...

--
"Por cierto, de sobra es conocido que no hay quien entienda lo que escriben
los médicos a mano, pero resulta curioso comprobar que tampoco se les
entiende al escribir a máquina." J. M. García

Saludos.
jmoreym@ono.com 

>
>
Reply to
RooT

Buenas

He probado con los 3 tipos de control de flujo (ninguno, XOn/XOFF y hardware) y nada de nada, también he probado variando el cable (que es de construcción casera) conectando los terminales de control cruzados y sin cruzar y también desconectandolos y dejando solamente los TX, Rx y Gnd.

A lo que dices de conectarlo con otro pc, es lo que hago, conecto con el cable el portatil y mi ordenador de mesa, que por cuestiones de "edad" y de espacio no me permite desarrollar el proyecto en el (tendría que pasarme muchas horas seleccionando cosas candidatas a guardarlas en cd y ser borradas del disco duro), y es esa la conexión que me falla, porque el PIC está comprobado contra el hiperterminal del pc de mesa (mediante el correspondiente max232). Para que aclarar un poco más el tema y por si a alguien se le ocurre que trabaje con el ordenador de mesa, el proyecto óbviamente no tiene que trabajar contra el hiperterminal, sino que tendría que instalar el Labview y otras cosas en el ordenador que me resulta poco práctico por lo que he comentado antes.

Lo del osciloscopio tienes razón a medias, no dispongo de el en casa -óbviamente en el laboratorio de la facultad si- pero por la "linea" hay tráfico comprobado como ya he dicho con el hiperterminal del ordenador no-portatil.

Saludos whiter

"Nolo P>

Reply to
Whiter

Bueno, con un cable de los que cruzan las lineas, y control de flujo hardware, debería funcionar, tanto si las lineas de control cruzan de conector a conector o incluso si están puenteadas en cada uno de ellos.

Y sin control de flujo mucho mejor, debería funcionar de cualquier forma.

¿ no tendrás el puerto serie del portatil jodido ? ¿ desactivado en la bios ? igual tienes un IrDa que no puede funcionar a la vez que el rs232, ¿ no es un rs232, es otro tipo de puerto ? ......

digo, ... por decir que no quede ;-)

Dame una direccion de correo y te mando un programa que funciona bien sea cual sea la configuracion del cable (solo necesita Rx y Tx cruzados).

Reply to
Nolo Pongo

Buenas

Gracias por las respuestas. De momento no lo he logrado, pero lo voy a dejar aparcado por una temporada, porque acabar el proyecto tiene prioridad sobre hacerlo en casa. Así que de momento me tendré que conformar desarrollandolo en la facultad al salir del curro en lugar de poderlo hacer en el sofá de casa ;)

Cuando me vuelva a poner con ello ya os contaré como va y si logro utilizar el puerto serie del portatil.

Saludos whiter

Reply to
Whiter

Buenas

Gracias por la ayuda. Como digo en otro post, de momento no perderé más tiempo con ello puesto que no me es imprescindible (aunque si me hubiese sido más práctico). Tendré en cuenta lo de tu programa cuando me vuelva a poner con ello con más tiempo -con el pfc acabado espero-

Saludos whiter

"Nolo Pongo" escribió en el mensaje news: snipped-for-privacy@4ax.com...

Reply to
Whiter

Buenas

Por eso mismo, que me sonaba que en el windows XP había alguna historia de estas con el acceso a los puertos, escribí el mensaje. Las demás posibilidades creía haberlas revisado, pero en fin, de momento sigo sin poder comunicar y de momento seguirá así ya que dejaré esto aparcado, que el proyecto es más importante que el dónde hacerlo

Saludos whiter

"RooT" escribió en el mensaje news:bp8sji$1mi4l9$ snipped-for-privacy@ID-207315.news.uni-berlin.de...

pero sigue

imposibilidad de

no bits. De

Reply to
Whiter

Son puertos distintos, la palabra puerto tiene varios significados.

Si te refieres al puerto serie, no hay problema, puedes leer y escribir en cualquiera de ellos (reales y virtuales), controlar todas las lineas de control, detectar errores, ... hay funciones en el api para todo.

Si te refieres a los puertos hardware si que hay problema, pero esto son direcciones físicas de memoria. Por ejemplo el puerto serie está implemntado en un chip ("me se" ha olvidao el nombre) que está compuesto por varios registros, o puertos, en las direcciones 0x2f1 0x2f2 ... (tambien "me se" ha olvidao la direccion exacta), no puedes intentar leer en 0x2f1 porque salta una excepcion, pero eso no quiere decir que haya ningún problema, solo que se supone que los accesos directos al hardware solo lo hacen los drivers.

Reply to
Nolo Pongo

Lo más probable es que falten unos puentes entre CTS RTS y similares.

formatting link
Palma.

Reply to
GasparV

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.