Autor Tema: Conectar Puerto Serie del PC:  (Leído 10205 veces)

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

Desconectado patadino

  • PIC10
  • *
  • Mensajes: 20
Conectar Puerto Serie del PC:
« en: 15 de Mayo de 2004, 14:26:00 »
Hola buena, ya se que por ahi hay monton de posts acerca del puerto serie del PC, pero mi pregunta no la he encontrado lo suficientemente clara y es:
Quiero seguir el protocolo RS232, es decir mandar 1 bit de inicio, otros tantos(5a8)de datos y uno de parada, lo que ocurre es que para que el puerto serie coja los datos por el pin de recepcion creo que tengo que activar una serie de avisos como RTS(Solicitudes de envio,acuse de recibo....),etc... alguien sabe cuales y en que orden tengo que activar para poder transmitir???Alguien sabe si es posible leer datos por puerto serie prescindiendo de esos flag y avisos???Muchas gracias

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: Conectar Puerto Serie del PC:
« Respuesta #1 en: 15 de Mayo de 2004, 14:41:00 »
SEU EQUIPAMENTO PRECISA DESSES PINOS???SE NAO PODE USAR QUALQUER OUTRA FUNÇÃO!!!!

Desconectado patadino

  • PIC10
  • *
  • Mensajes: 20
RE: Conectar Puerto Serie del PC:
« Respuesta #2 en: 15 de Mayo de 2004, 16:06:00 »
En verdad no tengo nada pensado, pero quiero comunicar por el puerto serie y no tengo ni idea como llevar esa comunicacion a cabo, ya que en algun momento tendre que decirle al PC mediante un flag (Mediante c++ en mi caso)que el dato esta preparado para recoger en el pin RX(Recepcion) del puerto serie.Gracias de todos modos Por contestar

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Conectar Puerto Serie del PC:
« Respuesta #3 en: 15 de Mayo de 2004, 16:27:00 »
Las señales RTS/CTS, son necesarias para el control de flujo....
Pero realmente tu circuito necesita control de flujo???

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Conectar Puerto Serie del PC:
« Respuesta #4 en: 15 de Mayo de 2004, 16:35:00 »
Yo he trasteado con el puerto serie, y hasta el momento no he necesitado usar el control de flujo.
Por ejemplo, si te comunicas contra un modem, y este precisa de gestión de control de flujo por hardware, necesitarías las señales RTS/CTS, pero tambien existe la posibilidad de configurar la maquina con la que quieres comunicar para que no necesite control de flujo...
yo en mi caso, he utilizado la usart, y me he creado un buffer de recepción, para no colapsar los datos...
y en mi programa, lo que hago, es ir leyendo del buffer...

no se si me he explicado muy bien, pero aqui me tienes por si te puedo ayudar... por lo menos a nivel teórico.
El único problema, es que yo solo codifico en PBP, y un poco de asm.

de todos modos, te recomiendo que expliques mas a fondo tu proyecto, para que la gente del foro, pueda darte soluciones mas concretas.

Desconectado patadino

  • PIC10
  • *
  • Mensajes: 20
RE: Conectar Puerto Serie del PC:
« Respuesta #5 en: 15 de Mayo de 2004, 17:26:00 »
Muchas Gracias por las contestaciones, vamos a ver mi proyecto consiste en un pic que recoge informacion, y lo que quiero es ir pasando esa informacion al PC por el puerto serie, para ello me intentare hacer un programa en c++ que contenga un loop que recoja datos del puerto serie,como lo hariais ustedes?Mi pregunta es si el puerto serie es capaz de recibir datos asi como asi sin activar ninguna señal de aviso???es decir yo pongo una de las patas de mi PIC a enviar bits con una frecuencia determinada, que coincidira con los baudios del COM al que conectare el pic y ya esta?Los recibo asi como asi, como sabe el pc cuando le mando el dato???Espero haber explicado algo mejor...un saludo

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Conectar Puerto Serie del PC:
« Respuesta #6 en: 16 de Mayo de 2004, 00:21:00 »
Tal y como planteas la idea, es tan sencillo, como usar tres pines del puerto serie....

RX,TX,GND...
Bueno, miento.. En tu caso, solo dos... Tx, GND...
No necesitas control de flujo...
(y para que luego no te vuelvas loco como yo hace meses, te comento, que tienes que conectar el TX de tu circuito al RX del pc)

Desde hace variso meses, me estoy pegando a fondo con el puerto serie, y te comento, que dependiendo de lo complicado que quieras hacer tu proyecto, las comunicaciones se iran haciendo mas complicadas...

en principio, para ir empezando, te recomiendo que te montes el circuito y lo conectes al pc... E intentes comunicarte con el hiperterminal de windows...
A simple vista creo que no tendrás demasiados problemas, dado que lo que aparentemente quieres, es que tu circuito informe al pc de que que está haciendo... si fuese al contrario, la cosa se complicaría un poco... Pero tampoco demasiado...

Ahora hace falta saber en que lenguaje quieres desarrollar tu aplicación...
Y que pic quieres utilizar...
Yo por desgracia, solo te puedo ayudar en PBP. Espero que te sirva. y creo que Ginho_rj te podrá ayudar en Pic C

Una vez que consigas que el hiperterminal de windows, te lea datos del pic, ya te comento como seguir avanzando con el proyecto...

Te recomiendo que uses PBP, porque la trasnmisión de datos rs232, es extremadamente simple...
te lo digo por experiencia.

Desconectado natalia_mouse

  • PIC10
  • *
  • Mensajes: 42
RE: Conectar Puerto Serie del PC:
« Respuesta #7 en: 16 de Mayo de 2004, 01:56:00 »
TE cuento que yo estoy haciendo un mouse para conectar al serial y no pude lograr la rutina de reconocimiento, la señal RTS sube cuatro veces, siendo la primera de aprox. 6 segundos, las otras dos son mas cortas y en la ultima si el pc reconocio algo conectado al pc se que arriba (10v)... en mi caso, el mouse espera 14ms y envia un byte, cada vez que sube esta señal.
Si el Pc no se entera que hay algo conectado al PC lo que tengas conectado no va a funcionar....
espero te sirva de algo la info.
Natalia

Desconectado psicopic

  • PIC12
  • **
  • Mensajes: 93
RE: Conectar Puerto Serie del PC:
« Respuesta #8 en: 16 de Mayo de 2004, 07:16:00 »
Bueno..... Como dicen los demas amigos del Foro... DEPENDE DE TU PROYECTO si requiere los pines de control de flujo o no.
La gran mayoria nolo requiere asi que no te des mala vida mi pana ok y trabaja sin esos pines... como haras Bueno... te medio explico...

Lo que te explicare sera para el Puerto DB9 serial del Computador...

Haz un puente entre los pines 7 y 8  
haz un puente entre los pines 4 y 6
Con esto mantienes los niveles de esos pines para que los programas que uses para generar las transmisiones no tengan problemas... ok

Ya con eso seguro que te tiene que funcionar cuaquier programa de comunicacion que lea o escriba sobre el RX y TX de el Puerto serie de la computadora sin Problemas ni sets especiales de los pines de control de flujo...

Y en el PIC simplemente debes transmitir por los pines seleccionados la informacion si es un byte un word etc eso ya depende de ti segun el programa que uses para compilar te recomiendo por lo menos en mi caso el PBP es muy versatil y se hacen verdaderos milagros en poco tiempo y con un minimo de esfuerzo...
Bueno dale pues sigue para adelante nunca pises para atras ni para tomar impulso


Desconectado patadino

  • PIC10
  • *
  • Mensajes: 20
RE: Conectar Puerto Serie del PC:
« Respuesta #9 en: 16 de Mayo de 2004, 07:20:00 »
Vamos a ver, mi primer proyecto de pueba para controlar el puerto serie consistira en que grabare una serie de numeros en la eeprom de mi pic 16f84a,  los cuales pretendo pasar por puerto serie al PC mediante un programa en c++, todo ello lo pretendo hacer en ensamblador ,como lo hariais ustedes?yo he pensado en ir deplazando mis 8 bits de manera que todos los bits vayan pasando por una posicion en concreto(la de mi puerto de salida del PIC)de manera que el PC recoja por un pin todos los bits para formar el byte,es eso correcto??Necesitare tb un MAX232 para las conversiones de tensiones...Pero mi duda esta en:Yo ya he hecho para unas practicas de clase(de mis estudios)un programa que manda y recibe datos por puerto serie entre dos pcs, lo que ocurre es que si al recibir no tienes nada conectado(en mi caso estaba el otro PC) el puerto no detecta que hay dato a recoger y se queda esperando un tiempo predefinido por mi hasta que el programa termina, en cambio al enviar datos por el puerto el PC no mira que haya ningun dispositivo conectado sino que se pone a escribir en el puerto como un loco....esa era mi pregunta en los post anteriores...como le digo al PC que tengo un dato para el???un saludo

Desconectado patadino

  • PIC10
  • *
  • Mensajes: 20
RE: Conectar Puerto Serie del PC:
« Respuesta #10 en: 16 de Mayo de 2004, 07:27:00 »
Muchas Gracias por tus animos Psicopic, lo de cortocircuitar las señales de control es lo que se conoce como Modem Nulo no??,Es que yo he hecho una practica que consistia en un modem nulo, la cual la entiendo, tengo el codigo en c++ y es muy facil de hacer,lo que ocurre es que ente dos pcs todo se hace automaticamente para tx y rx, pero no sabia si en el pic tendria que hacer algo especial.Muchas Gracias
PD:por cierto, soy novato en esto, que es PBP???

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Conectar Puerto Serie del PC:
« Respuesta #11 en: 16 de Mayo de 2004, 08:35:00 »
Escrito originalmente por natalia_mouse

Si el Pc no se entera que hay algo conectado al PC lo que tengas conectado no va a funcionar....



Esto no es cierto... Realmente, el driver que gestiona tu ratón, tendrá una gestión de control de flujo, pero si nuestro amigo papadito, se va a crear su propio soft, puede hacer qua la lectura de datos se haga sin flow...
Vamos, lo digo porque yo tengo un circuito encima de mi escritorio, conectado al PC, y hablando con el , utilizando solo los pines 2,3,5...

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Conectar Puerto Serie del PC:
« Respuesta #12 en: 16 de Mayo de 2004, 08:49:00 »
PBP es la abreviatura de PicBasic PRO...

y realmente, te vas a ahorrar muchisimo tiempo en hacer que tu proyecto empiece a funcionar si lo utilizas...

por ejemplo, para enviar datos...

serout2 porta.0,188,["Mandando DATOS!!!",10,13]
asi mandaría la cadena por el pin0 del porta a 4800 8N1

Desconectado patadino

  • PIC10
  • *
  • Mensajes: 20
RE: Conectar Puerto Serie del PC:
« Respuesta #13 en: 16 de Mayo de 2004, 10:56:00 »
Osea que el PIC Basic Pro es otra forma de hacer programas para los PIC???yo uso el MPLAB, me recomiendas que use el PBP para siempre???,  he visto uno que se parece a C.Un saludo

Desconectado psicopic

  • PIC12
  • **
  • Mensajes: 93
RE: Conectar Puerto Serie del PC:
« Respuesta #14 en: 16 de Mayo de 2004, 16:16:00 »
se prendio esto pues...

buenoooooo... mira algo.... PBP es una forma de programar un pic pero en lenguaje BASIC. o sea si programas en C++ basic te sera una bobada jajaja...

ok... otra cosa. lo del null modem te lo cometo por que alguinas veces se hacen los programas y no funcionan las entradas seriales por que estos pines estan al aire si los pones asi te evitas dolores de caveza...

otra cosa... como sabe el pc que esta recibiendo datos del pic... Bueno de eso se debe encargar el programa que desarrolles en C++ ya que debera estar residente en Memoria y estar supervisando el puerto serial y tomar los datos que entren por el puerto y tratarlos segun las rutinas que pongas tu...
Si la disancia del pic al ordenador no es demasiado grande pues no requieres max232 solo sacas la data por uno de los pines del pic y ya por eso es bueno el PBP sino fijate la rutina que te indica el amigo abago... En serio mi pana que enseriate con el PBP que te conviene...
En cuanto a que quieres transmitir bit a bit etc por el puerto serial..
Recuerda que tanto los pic como las computadoras transmiten el BYTE completo ok en ese BYTE se incluyen los bit de parada e inicio etc. Yo creo que lo que intentas hacer es mas facil de lo que tu mismo te inmaginas no te hagas mucho cerebro ue si no te complicas todo. Solo preocupate por hacer el programa que capture el puerto serial de la computadora o para probar puede usar el HIPERTERMINAL DE WINDOWS para que veas los datos que entran por el puerto serial esto claro esta despues que tengas ya programado el pic... Bueno estamos en contacto... y que no se te enfrie el animo ok dale....


 

anything