Obtener direccion fisica puerto paralelo externo

Hola gente ando con un gran problema que no he podido resolver... El tema es que estoy haciendo un soft para controlar el puerto paralelo y funciona a la perfeccion.. Pero como necesitaba mas salidas opte por la simplesa de agregarle al pc una tarjeta pci con un puerto mas db25 y el problema es que no se como encontrar la direccion fisica de este puerto ya que antes usaba el onboard de la tarjeta madre en la direccion 0378 y ahora no hay manera de hacerlo funcionar... Hay alguna manera de averiguarlo?

Desde ya muchas Gracias
Saludos
 
Inicio -> Configuración -> Panel de control -> Sistema -> Hardware -> Administrador de dispositivos -> Puertos -> Seleccionas el LPT que corresponda y con el botón derecho vas a Propiedades -> Recursos

En mi caso salen dos direcciones, no entiendo por qué, pero la "buena" es la 378

En mi casa mi PC no tenía ningún puerto LPT, y tras agregar una tarjeta PCI se instaló en la dirección B880, me volví loco hasta encontrarla
 

Adjuntos

  • lpt_996.png
    lpt_996.png
    28.4 KB · Visitas: 558
Buenas... ya encontre la direccion del puerto de la forma que Ferny posteo....por lo tanto me puse a hacer multiples pruebas vuelvo al foro a postear ya que ahora el problema ahora es otro... el tema es que cuando envio cualquier dato al puerto automaticamente despues de dar la orden se tilda la pc y en algunos casos se reinicia... :eek: Por lo que he ensamblado un programita que solo apague y encienda los puertos y tambien hace lo mismo...
No creo que sea el problema el soft por su simplicidad... Podran ser las tarjetas PCI o los drivers mal instalados? Aunque en el administrador del Sistema dice claramente que "El dispositivo funciona correctamente"

Cabe destacar que he probado con todos los valores que salen en " Inicio -> Configuración -> Panel de control -> Sistema -> Hardware -> Administrador de dispositivos -> Puertos -> Recursos " y sigue haciendo el mismo problema con ambas placas PCI...

Alguna idea?

Saludos
 
A mi ya me pasó y acabé solucionándolo cambiando de .dll y de método de sacar los datos (usando visual basic). En mi caso incluso probando en una máquina virtual (con el virtualpc) también se reiniciaba la misma jeje...

Si quieres pásame la dirección base de tu puerto y en un momento te compilo un programa de prueba que tengo en visual basic que pone a 1 o a 0 todas las salidas del puerto. Así simplemente conectándole un led entre una salida y GND puedes ver si está cambiando

Saludos
 
Amigos he logrado solucionar el problema! :LOL: Cambie la libreria io.dll por la input.dll y funciona todo a la perfeccion.. Muchas gracias por su colaboracion en el post...

Saludos a todos..
Leandro
 
Ferny dijo:
Inicio -> Configuración -> Panel de control -> Sistema -> Hardware -> Administrador de dispositivos -> Puertos -> Seleccionas el LPT que corresponda y con el botón derecho vas a Propiedades -> Recursos

En mi caso salen dos direcciones, no entiendo por qué, pero la "buena" es la 378

En mi casa mi PC no tenía ningún puerto LPT, y tras agregar una tarjeta PCI se instaló en la dirección B880, me volví loco hasta encontrarla

Bueno solo queria agregar; que el el caso de targetas pci paralelo las direciones son tomadas automaticamente sin que se puedan modificar, en un rango de direcciones muy distinto al de los puertos paralelos omboard (03BC,0378,0278).Estas por lo general son muy altas en mi caso C050 , si no funciona hay que actualizar los driver!
este comentario es porque hice segun lei aca y no me funcionaba asta que actualice al driver mas reciente de mi targeta pci paralelo (nota : el anterior driver funcionaba bien con impresoras pero no, con ninguna aplicacion que usara el dll imput32.dll)

si molesta mi comentario espero me disculpen saludos
 
Si ingresas al BIOS puedes configurar las direciones de los puertos para ingresar al BIOS necesitas presionar suprimir al encendido de tu PC aparece una ventana azul ahi te daa opciones de configurar los puertos de hecho puedes cambiar la configuración de pines que tiene por default intentalo.
 
heyy vzlaje yo tengo el mismo problema y se qUE este ya es un foro muy viejo peor no AYO Como resolverlo me da lo mismo usar la libreria io.dll ya qUE se reinicia mi pc :S pero el mayor problema es qUE no se como ocupar la input32.dll no se si me podrias echar la mano ahi ya qUE se me hace muy dificil puesto qUE solo estaba ocupando la io.dll te lo agradeceria un monton
 
Última edición por un moderador:
Hola gente, estoy empezando a programar el puerto paralelo para luego programar el serie en C/C++. Les hago unas consultas que tengo y que buscando por la web no me he podido sacar :unsure: sobre el paralelo:
1- El bus de datos pin del 2 al 9, es salida, entrada, o ambos?¿ en varios sitios lo eh visto como salida, en otros los ponen como bidireccional, eh ahi mi confucion y como distinguirlo en las PCs.
2- Los bus de control y estados son bidireccionales?¿ y que se refiere a que ciertos bits de estos buses estan como "negados" me refiero al simbolo de la raya arriba del nombre.
3- Se que en windows los puertos estan bloqueados al usuario, como adjunto en mi programa de C/C++ las librerias inpout32 y io32, o solo tengo que copiarlas a la carpeta windows??
4- Que circuito me recomiendan para aislar el puerto paralelo y no quemarlo cuando haga pruebas, por ej. desde LEDs hasta motores, y si es posible usarlo como entrada tambien.

Pido disculpas si me extendi mucho con mis inquietudes. Espero que me puedan ayudar.
Un saludo cordial. Diego. ;)
 
1- los pines del 2 al 9 son unicamente salidas no se pueden cambiar
2- los unicos qUE son bidireccionales creo qUE son los de control
3- si tienes que ponerlos en windows system32 ( pero por ejemplo en mi caso tengo qUE crear una clase o modulo en Visual basic y pues eso es lo q mas me esta dando problemas :mad:)
4- pues un circuito sencillo con una resistencia de 220 ohnios y un led basta

a y con respecto a cuales estan invertidos
http://4.bp.blogspot.com/_-KMVaTAYLsk/SJsqTzv3HmI/AAAAAAAAAEs/T0ygrbuO8Ds/s400/paralelo+7.JPG

los de + son directos
y los - son invertidos
 
Última edición por un moderador:
Bueno tras un par de horas me e dado cuenta que el inpout.dll solo tiene 2 funciones en in y out y pues no puedes apagar individualmente cada salida si no qUE las apagas de un solo y pues eso no gustar alguein sabe de algun .dll qUE funcione igual que el io.dll pero que soporte taregtas extenas pci o cantidades altisimas ?
 
Última edición por un moderador:
Bueno tras un par de horas me e dado cuenta que el inpout.dll solo tiene 2 funciones en in y out y pues no puedes apagar individualmente cada salida si no q las apagas de un solo y pues eso no gustar alguein sabe de algun .dll q funcione igual que el io.dll pero que soporte taregtas extenas pci o cantidades altisimas ?

Ambos funcionan de una forma similar la diferencia es que el io.dll hace los calculos por asi decirlo para pseudo-modificar un bit...

por otro lado con la tarjeta externa no pone la direccion del puerto???

que OS usas???
 
Última edición:
mmmm vaya te explico tengo una pc con un puerto onboar de paralelo con ese no tengo problemas es el LPT1 ahora por el sentido de controlar muCHo mas cosas quise agrandar las salidas a un maximo de 24 utilizando los de control como salida es un total de 12 salidas por cada tarJeta, el problema es la tarJeta externa al iNStalarla por no ser generica necesita drivers entonces da una direccion super extraña es la CC00 muy diferente a la qUE conocemos de puerto LPT2 Y LPT3 pero en el sistema la recconoce Como LPT2 Y LPT3 pero con otras direcciones (ocupo Xp SP3 se me olvidaba decirte) entonces al ocupar la io.dll con la onboar funciona de maravilla el problema es qUE al poner la direccion de la externa (PCI) y al enviar un dato reinicia mi pc aQUi arriba dice que pues no soporta y asi es... entonceS probé con la inpout.dll y exacto con esa funciona super bien la externa ningun problema pero el unico problema es que si digamos quiero encender 3 salidas y luego apagar solo una de ellas no puedo con el inpout.dll ya qUE apago todas de un solo no puedo quitar un byte como se hace con la io.dll y ya qUE esta no soporta la tarJeta no-se qUE hacer asi qUE por eso pedia otro .dll mejor qUE estos dos o estos 2 unidos :)
 
Última edición por un moderador:
tengo una pc con un puerto onboar de paralelo con ese no tengo problemas es el LPT1 ahora por el sentido de controlar muxo mas cosas quise agrandar las salidas a un maximo de 24 utilizando los de control como salida es un total de 12 salidas por cada targeta

Multiplexando el puerto onboard podrias tener mas salidas hasta 32 de una manera mas o menos sencilla...

uego apagar solo una de ellas no puedo con el inpout.dll ya q apago todas de un solo no puedo quitar un byte como se hace con la io.dll

que lenguage usas???

si pones
outport &H378,&B10010010
outport &H378,&B10010000
(el comando es solo ilustrativo)
apagas el bit 2 unicamente o estoy entendiendo mal lo que necesitas??
 
Cuando yo era joven no habían instrucciones para encender o apagar un bit
Si haces un OR enciendes y si haces un AND apagas

Osea:
DATO OR bits_a_encender

DATO AND bits_que_quieres_dejar_ON
 
vaya no se me confundan
lubeck SI se a cual idea te referis es ocupar 4 integrados encenderlos con los de control (c0-c3) y ASÍ cada intrGRADO controla 8 salidas me pareces (pero es qSI por eso busque otra alternativa esa manera no ME gusta) y es qSI aveces si ocupo algo y enciendo el otro integrado se enciende la del otro y es muCHa complicacion QUeria salidas independientes

-te expliCo mejor lo del puerto
para mandar un alto a la SALIDA con el Inpout.dll
D0 = Out &H378,1
D1 = Out &H378,2
D2 = Out &H378,4
D3 = Out &H378,8 y asi susesivamente
para apagarlas tenes que poner Out &H378,0 pero se apagan todas no hay ninguna manera de apagarlas individualmente y ese es el PROBLEMA......

ya que con el io.dll con esa hay Como mandar un byte a cada salida y TAMBIEN como borrarlo los comandos son Setportbit y Clrportbit

el Inpout.dll solo trae dos comandos el in y out
en cambio en io.dll trae los dos del inpout.dll + setportbit y clrportbit y otros mas qSI no recuerdo
pero el problema es qSI io.dll no acepta mi tarJeta externa y inpout.dll si :S
 
Última edición por un moderador:
No te enojes ni te desesperes pero estas confundido

no solo puedes usar esto
D0 = Out &H378,1
D1 = Out &H378,2
D2 = Out &H378,4
D3 = Out &H378,8

tambien esto
D0 = Out &H378,1
D1 = Out &H378,2
D2 = Out &H378,3
D3 = Out &H378,4
D0 = Out &H378,5
D1 = Out &H378,6
D2 = Out &H378,7
D3 = Out &H378,8 y asi sucesivamente...
si utilizas el binario puedes apagar uno en uno que es lo que te quiero decir...

con respecto a multiplexar si lo haces bien casi es como si tuvieras las salidas independientes los cambios son sobre los nano segundo... pero es tu decicion yo solo decia....

Mira yo hice algo parecido a lo que quieres hacer

https://www.forosdeelectronica.com/f26/interface-paralelo-64bits-i-amateurs-27566/
 
Última edición:
Atrás
Arriba