Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
nono
Nivel 2



Registrado: 03 Sep 2005
Mensajes: 17
Ubicación: Provincia BsAs (Zona Norte)

MensajePublicado: Lun Sep 26, 2005 4:47 pm  Asunto:  ¿Cómo manejar puerto paralelo con C/C++? Responder citandoFin de la PáginaVolver arriba

Buenas. . . espero q este foro siga creciendo pues puede ser de mucha ayuda para nos los estudiantes.
Mi consulta: alguien podria informarme sobre como manejar el puerto paralelo con el lenguaje C o C++. Yo quiero recibir datos y armar una tabla a partir de ellos, se puede? muy complicado?
Muchas gracias.

--ilnono00--


   OfflineGalería Personal de nonoVer perfil de usuarioEnviar mensaje privado
Claus
Fundador


Edad: 41
Registrado: 17 May 2005
Mensajes: 1647
Ubicación: Capital Federal
Carrera: Industrial
newzealand.gif
MensajePublicado: Lun Sep 26, 2005 5:31 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Buenas nono. Mirá, se que no tengo la posta, y es mas, estoy lejos de tenerla ya que no es la carrera que estoy siguiendo. De todas formas, creo que lo que podrias buscar en google sería interfaz analógico/digital (Interfaz A/D). Depende de lo que quieras recibir como datos, casi seguro necesitaras un circuito que digitalice dicha informacion. TEngo un par de articulos en mi poder para creacion de interfaz A/D usando el CI ADC0804, para usarla por ej para prender aparatos electrónicos (a traves de relés), o recibir datos de por ej una sonda de temperatura.
En internet debe sobrar informacion al respecto, o sino, las revistas Power USR a partir de la #22 tienen articulos del tema. En éstos artículos, el codigo fuente está escrito para Visual, por eso sé que no te va a servir, pero para visual se usa la libreria io.dll.
En fin, espero que esta info, que si bien no es específicamente lo que buscabas, te sirva como punto de partida.
Ya aparecera alguien que sepa realmetne del tema y nos desasne.
Saludos
Claus

_________________
Tema Libre no es Libertinaje
---------------
SpiderMan is having me for dinner tonight

Libra Género:Masculino Perro OfflineGalería Personal de ClausVer perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioYahoo MessengerMSN MessengerNúmero ICQ
Fhran
Administrador


Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
blank.gif
MensajePublicado: Lun Sep 26, 2005 9:48 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

**************

Conozco un amigo que quiza sepa sobre esto, mañana le pregunto.

En lo que si te puedo ayudar es en la lectura de puerto paralelo desde QBasic o VisualBasic porque hace un tiempo me arme un display de 8 leds para boludear y los manejaba desde esos lenguajes.
Pero quiza lo que buscas es para C/C++, asi que cualqueir cosa avisame.

***************


Aquario Género:Masculino Rata OfflineGalería Personal de FhranVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Mar Sep 27, 2005 12:07 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

En ninguno de los dos posts que hacés sobre C/C++ veo que aclares algún standard o algo...
En C/C++, incluso en ANSI se puede manejar el puerto paralelo... sólo que es algo de muy bajo nivel.
El puerto es una posición más de memoria y es simplemente operar sobre los bits seteando y deseteando máscaras, el trabajo lo hace el sistema operativo y para vos es transparente.
El único problema dentro de los stándares es que no tenés ninguna función del tipo sleep() entonces se hace molesto el manejar el sincronismo (puede implementarse de todos modos).
La respuesta es, sí, se puede (aplicalo también al thread sobre gráficas) pero fuera de los stándares y con toda la pérdida de portabilidad que eso conlleva. Por otro lado, ¿vale la pena escribirlo desde cero?; a menos que tengas que hacer algo muy dedicado, no creo que valga la pena. Yo googlearía por bibliotecas que ya lo tengan implementado, hay miles.
Saludos.


Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Mar Sep 27, 2005 12:24 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Por si a alguno le interesa, pasteo lo que le respondió a Nono en la lista de Algoritmos II el Ingeniero Leandro Santi:

Ing. Leandro Santi escribió:
> 1°) Estoy buscando info acerca de como manejar el
> puerto paralelo de la PC con el lenguaje C o C++.
> Quiero leer datos a traves del puerto y armar una
> tabla de valores con ellos.

o Lee el capitulo 9 y busca ``ioperm'' en el glosario:

http://www.oreilly.com/catalog/linuxdrive3/book/index.csp

o Busca el libro ``paralell port complete'', quizas este online.

o Tambien podes leer directamente de las especificaciones tecnicas de
los chipsets, generalmente bajo el nombre de ``super i/o''. En su
momento era la mejor fuente de informacion, ya que casi siempre se
incluyen los diagramas de tiempo, registros y pinouts. Creo tener,
en alguna parte, algunos pdfs.

o Google.

(Consejo: no uses el puerto paralelo; no solo apesta como interfaz,
sino que ademas es viejo, obsoleto y afortunadamente ya no se incluye
como parte de los diseños nuevos. Mejor busca otra forma de resolver
el problema).

> 2°) Si tengo dos arreglos de numeros (digamos "X" e
> "Y"), se puede trazar la curva correspondiente XY con
> C o C++?

Si, consulta con gente que haya cursado en el 2004, ya que hubo un
TP en donde tenian que dibujar curvas parametricas en C++.

Leandro.


Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Lubi
Nivel 2


Edad: 39
Registrado: 21 Sep 2005
Mensajes: 7

Carrera: Electrónica
blank.gif
MensajePublicado: Mie Sep 28, 2005 4:45 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Aca tengo un archivo sobre el puerto paralelo en C, espero que les sirva.


parallel.pdf
 Descripción:

Download
 Nombre de archivo:  parallel.pdf
 Tamaño del archivo:  76.49 KB
 Bajado:  2875 vez


Aries Género:Masculino Bufalo OfflineGalería Personal de LubiVer perfil de usuarioEnviar mensaje privado
Fhran
Administrador


Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
blank.gif
MensajePublicado: Sab Ene 28, 2006 3:09 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

**************

Retomo el tema del Puerto Paralelo porque ando con problemas.

Con unos amigos armamos una tira de 8 leds para ser controlados por software (cosa que ya habiamos hecho antes sin ningun tipo de problemas como dije en un post anterior)

Lo que sucede ahora es que no podemos controlarlo de la misma manera que lo haciamos antes. Una vez conectado, los leds estan todos prendidos... lo que equivale a un 255 en la salida de datos. Desde QBasic le doy valores distintos pero no responde... siguen todos prendidos.

Lo primero que se nos ocurrio es que la direccion del puerto habia cambiado, entonces empezamos a probar todos (los 65535) con FOR's y cosas por el estilo. No hubo caso. Siguen prendidos.

Lo que quisiera saber es si yo ESCRIBO en el puerto el valor X, ¿deberia recibir X cuando LEO del puerto? o son dos cosas distintas.

************

_________________
Image
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.

Aquario Género:Masculino Rata OfflineGalería Personal de FhranVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Sab Ene 28, 2006 3:58 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Fhran escribió:
Lo primero que se nos ocurrio es que la direccion del puerto habia cambiado, entonces empezamos a probar todos (los 65535) con FOR's y cosas por el estilo. No hubo caso. Siguen prendidos.

No, suele ser standard, es la que ves cuando prendés la máquina y carga la BIOS (bah, yo uso máquinas que lo hacen en ASCII...)
Fhran escribió:
Lo que quisiera saber es si yo ESCRIBO en el puerto el valor X, ¿deberia recibir X cuando LEO del puerto? o son dos cosas distintas.

Sí, porque no estás escribiendo en el puerto ni leyendo de él, estás usando una interfaz y el que hace el laburo es el sistema operativo (o el micro).
Para vos debería ser transparente y comportarse como una posición en memoria; en realidad no la es.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Fhran
Administrador


Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
blank.gif
MensajePublicado: Sab Ene 28, 2006 4:02 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

*************

Entonces ¿como puede ser que cuando leo de la direccion h378 (888), me devuelve 170, pero los leds estan todos prendidos?

Desde QBasic:

Código:
CLS
PRINT INP(888)
PRINT INP(889)
PRINT INP(890)


Salida:

Código:
170
223
231


**************

_________________
Image
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.

Aquario Género:Masculino Rata OfflineGalería Personal de FhranVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Sab Ene 28, 2006 4:33 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

¿No habrá cambiado la disposición de los pines en el cable?

Ahora no tengo a mano ninguna tabla de los pines del puerto... ¿probaste prenderlo completo y apagarlo completo a ver si eso refleja algo?

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Fhran
Administrador


Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
blank.gif
MensajePublicado: Sab Ene 28, 2006 4:35 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

************

Si, probe de todo.

El DB-25 es el mismo que antes funcionaba. Aunque es un poco desprolijo. ¿Te parece que algun falso contacto entre los cables pueda provocar esto?

************

_________________
Image
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.

Aquario Género:Masculino Rata OfflineGalería Personal de FhranVer perfil de usuarioEnviar mensaje privado
falcald
Nivel 8


Edad: 39
Registrado: 04 Mar 2006
Mensajes: 790
Ubicación: Castelar
Carrera: Electrónica
CARRERA.electronica.4.gif
MensajePublicado: Mie Mar 08, 2006 4:05 pm  Asunto:  LTP vs XP Responder citandoFin de la PáginaVolver arriba

Cita:
Entonces ¿como puede ser que cuando leo de la direccion h378 (888), me devuelve 170, pero los leds estan todos prendidos?


Si estás usando Win XP esto no es asi. No me preguntes porque, porque no se porque. El maldito no deja acceder a ningun puerto directamente. Según vi muuyy por encima en una página, hay que trabajar a travez de una DLL o usar funciones de un archivo .SYS o algo así...
Hace tiempo habia hecho una interfaz para el LPT con relés, manejada con QB tambien, y andaba a la perfección (En ese entonces con Win 98 ). Ahora que tengo el XP ni se mosquea con el programita de QB. La única forma en la que la pude hacer andar fue usando VisualBasic y la io.dll que mencionaron antes.
La solución creo yo seria conseguir (O hacer, si es que sabes) una dll parecida a la io.dll y manejarlo así desde C o C++. O bien, cambiar el sist. operativo.

Espero que te haya sido útil mi experiencia.


Aries Género:Masculino Bufalo OfflineGalería Personal de falcaldVer perfil de usuarioEnviar mensaje privadoMSN MessengerNúmero ICQ
Fhran
Administrador


Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
blank.gif
MensajePublicado: Mie Mar 08, 2006 9:20 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

**********

Te cuento que tengo hecho en VB un bello programita con colorcitos que usa la io.dll y a la mínima que hago, se tilda todo.

Gracias!

**********

_________________
Image
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.

Aquario Género:Masculino Rata OfflineGalería Personal de FhranVer perfil de usuarioEnviar mensaje privado
deimon
Nivel 5


Edad: 38
Registrado: 14 Ago 2005
Mensajes: 168
Ubicación: Quilmes
Carrera: Electrónica
CARRERA.electronica.6.gif
MensajePublicado: Mie Mar 08, 2006 9:53 pm  Asunto:  Re: como manejar puerto paralelo con C/C++?? Responder citandoFin de la PáginaVolver arriba

intenté bajar el pdf que habían subido de puerto paralelo en C, pero no pasa nada. Alguien sabe que puede ser? o si sacaron el archivo?
Gracias


Libra Género:Masculino Bufalo OfflineGalería Personal de deimonVer perfil de usuarioEnviar mensaje privado
Claus
Fundador


Edad: 41
Registrado: 17 May 2005
Mensajes: 1647
Ubicación: Capital Federal
Carrera: Industrial
newzealand.gif
MensajePublicado: Mie Mar 08, 2006 10:06 pm  Asunto:  Re: como manejar puerto paralelo con C/C++?? Responder citandoFin de la PáginaVolver arriba

deimon escribió:
intenté bajar el pdf que habían subido de puerto paralelo en C, pero no pasa nada. Alguien sabe que puede ser? o si sacaron el archivo?
Gracias

Que error te tiro?, recien lo bajé sin problemas....

_________________
Tema Libre no es Libertinaje
---------------
SpiderMan is having me for dinner tonight

Libra Género:Masculino Perro OfflineGalería Personal de ClausVer perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioYahoo MessengerMSN MessengerNúmero ICQ
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.4180s ][ Pedidos: 22 (0.2998s) ]