Obtener direccion fisica puerto paralelo externo

no no no me enojo de echo te agradesco lubeck Eres de lo mejor me estas quitando muchas dudas de encima.... pero explicame Como es eso de binario osea ya estoy en el tema se q es binario pero no se q binario corresponde a cada puertooo q corresponde..... osea lo q necesito en si es el codigo o el binario q me apague individualmente Cada salida y no apagarlas todas de un solo :) no se si me expliko

mmmm seria algo asi
Enciendo
D0 = Out &H378,1
D1 = Out &H378,2
D2 = Out &H378,4
pero quiero apagar unicamente
D1 ??? eso no se como hacer :S

:O no no no estoy enojado lubeck nada q ver jejeje y gracias por toda la ayuda enserio mi problema radica en esto mira

yo enciendo estas
D0 = Out &H378,1
D1 = Out &H378,2
D2 = Out &H378,4
pero solo quiera apagar una de ellas
D2= ???? pero no se como :S y eso es lo q quiero saber :) me ayudas
 
Última edición:
mmm....

por ejemplo

prender bit1
D0 = Out &H378,1

prender bit1 y bit2
D0 = Out &H378,3

prender bit 4 unicamnete
D0 = Out &H378,8

prender bit1,2 y3
D0 = Out &H378,7

apagar bit 2 unicamente y dejar 1y3
D0 = Out &H378,5

haz un prueba asi... y vera el resultado...
 
Última edición:
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 intEGRADO controla 8 salidas me pareces (pero es qUE por eso busque otra alternativa esa manera no ME gusta) y es qUE 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 qUE io.dll no acepta mi tarJeta externa y inpout.dll si :S

Reglas generales de uso del foro (Extended Version)

05) Escribe de manera correcta y legible para todos. Estás en un Foro no en un Chat.
 
Última edición:
:O Super graciassssssssssssssssssss lubeck eres de lo mejor mis respetos :O tenias razon :O perooo Como hago para encontrar con q numero apago y con cual enciendo no tienes una tabala o es cada 3 numeros despues del q enciendo ??? Como va la numeracion la de encendido la entiendo muy bien se q va 1,2,4,8,16,32,64,128.... pero para el apagado ????

lo siento Fogonazo :/
 
Última edición:
Lee con detenimiento lo que decimos. Siempre se ha podido.

El código (mas o menos libre)

Encender:
dato = dato or 2^bit
out &H378,dato


Apagar:
dato=dato and not 2^bit
out &H378,dato
 
Hola a todos, este debate está muy bueno, a pesar del tiempo que lleva, me gustaría consultar una inquietud, si alguien sería tan amable de responderme, llevo buscando mucho tiempo y no he dado con la solución.

Tengo una tarjeta de puerto paralelo por ranura PCI, funciona con Inpuot32.dll, puedo gestionar D0 hasta D7, sin embargo, me gustaría poder manipular también los pines de control (1, 14, 16 y 17), pero no me ha funcionado, no sé de qué manera hacerlo, los pines D0 a D7 tienen la dirección &HB400, y me parece que el de control es &HB407, pero no sé como enviar pulsos, aparte, intenté hacerlo, pero no sé si está bien porque los LED están encendidos siempre, y no puedo apagarlos. Pensé que podría ser así, pero no me resultó:

Out &HB407, 0 'Esto para el pin 1 de control
Out &HB407, 1 'Pin de control 2
Out &HB407, 2 'Pin de control 3
Out &HB407, 3 'Pin de control 4

Bueno, eso no me resulta, tampoco sabría como apagarlos, porque es diferente a la manipulación de D0 a D7. Si alguien me podría ayudar en este tema, ya que con Inpout32.dll estoy recién comenzando.

Saludos a todos.

:)
 
Hola calcasla

Tal vez esto ya lo tengas por conocido pero si no aquí está.

Si la dirección BASE del puerto paralelo es &HB400
&HB400+0 es el Registro De DATOS.
&HB400+1 es el Registro De ESTADO.
&HB400+2 es el Registro De CONTROL
&HB400+3 ó +7 Varios.


De los PIN’s que dices que quieres manipular.
Vistos de la PC hacia el periférico:
El PIN:
01 Strobe...... (Control) Salida...... Indica que hay datos válidos en las líneas de datos.
14 Auto-Feed. (Control) Salida...... Hace que la impresora automáticamente inserte una línea por cada retorno de carro.
16 Init.......... (Control) Salida...... Usado para aplicar un Reset a la impresora.
17 Select....... (Estado) Entrada.... Indica que la impresora está en línea.

Entonces: para las líneas de Control la dirección sería &HB402.
Y, para las líneas de Estado la dirección sería &HB401.

Analiza los archivos .DOC y la imagen adjunta, en esta vienen marcados con un punto color verde los PIN’s que deseas manipular.

Espero esta información te sirva.

saludos
a sus ordenes
 

Adjuntos

  • Paralled Port DB-25 Configuration.jpg
    Paralled Port DB-25 Configuration.jpg
    91.6 KB · Visitas: 8
  • El puerto paralelo mas conocido como CENTRONICS.doc
    35.5 KB · Visitas: 5
Hola calcasla

Tal vez esto ya lo tengas por conocido pero si no aquí está.

Si la dirección BASE del puerto paralelo es &HB400
&HB400+0 es el Registro De DATOS.
&HB400+1 es el Registro De ESTADO.
&HB400+2 es el Registro De CONTROL
&HB400+3 ó +7 Varios.


De los PIN’s que dices que quieres manipular.
Vistos de la PC hacia el periférico:
El PIN:
01 Strobe...... (Control) Salida...... Indica que hay datos válidos en las líneas de datos.
14 Auto-Feed. (Control) Salida...... Hace que la impresora automáticamente inserte una línea por cada retorno de carro.
16 Init.......... (Control) Salida...... Usado para aplicar un Reset a la impresora.
17 Select....... (Estado) Entrada.... Indica que la impresora está en línea.

Entonces: para las líneas de Control la dirección sería &HB402.
Y, para las líneas de Estado la dirección sería &HB401.

Analiza los archivos .DOC y la imagen adjunta, en esta vienen marcados con un punto color verde los PIN’s que deseas manipular.

Espero esta información te sirva.

saludos
a sus ordenes

Hola, muchas gracias por vuestra ayuda, ahora pude leer las entradas y manejo las salidas de control, eso sí que no entiendo muy bien su lógica aún (1, 2, 4, 8), porque a veces se apagan o se encienden sin yo haber esperado tal resultado, pero veré haber si se me ocurre algo.

Muy agradecido por la ayuda brindada.

Saludos. :)
 
Hola, muchas gracias por vuestra ayuda, ahora pude leer las entradas y manejo las salidas de control, eso sí que no entiendo muy bien su lógica aún (1, 2, 4, 8), porque a veces se apagan o se encienden sin yo haber esperado tal resultado, pero veré haber si se me ocurre algo.

Muy agradecido por la ayuda brindada.

Saludos. :)


Amigo Estoy tratando de utilizar los pines de control con visual basic, pero no logro tener acceso a ellos, algun tip que me pudieras dar?

Saludos

Hola calcasla

Tal vez esto ya lo tengas por conocido pero si no aquí está.

Si la dirección BASE del puerto paralelo es &HB400
&HB400+0 es el Registro De DATOS.
&HB400+1 es el Registro De ESTADO.
&HB400+2 es el Registro De CONTROL
&HB400+3 ó +7 Varios.


De los PIN’s que dices que quieres manipular.
Vistos de la PC hacia el periférico:
El PIN:
01 Strobe...... (Control) Salida...... Indica que hay datos válidos en las líneas de datos.
14 Auto-Feed. (Control) Salida...... Hace que la impresora automáticamente inserte una línea por cada retorno de carro.
16 Init.......... (Control) Salida...... Usado para aplicar un Reset a la impresora.
17 Select....... (Estado) Entrada.... Indica que la impresora está en línea.

Entonces: para las líneas de Control la dirección sería &HB402.
Y, para las líneas de Estado la dirección sería &HB401.

Analiza los archivos .DOC y la imagen adjunta, en esta vienen marcados con un punto color verde los PIN’s que deseas manipular.

Espero esta información te sirva.

saludos
a sus ordenes

Amigo Estoy tratando de utilizar los pines de control con visual basic, pero no logro tener acceso a ellos, algun tip que me pudieras dar?

Saludos
 
Desde VB hace falta usar una dll. Hace mucho tiempo que windows no deja acceder al hardware.
Busca en el foro porque es un tema que se ha comentado varias veces.
 
Buenas noches

Como muy bien comenta Scooter, para tener acceso al Puerto Paralelo con Visual Basic, necesitarás una DLL

¿Qué versión de Windows estás utilizando?

Sal U2
 
Atrás
Arriba