2010-11-18 33 views
7

historia preliminar¿Puedo acceder normalmente al puerto paralelo cuando uso el adaptador USB a puerto paralelo?

No es este programa que utiliza el puerto paralelo para sincronizar con otro hardware. Establecerá la salida del puerto paralelo a un valor especificado (byte). Esto funciona sin problemas cuando se utiliza el puerto paralelo integrado de una PC. Las plataformas de destino son Windows XP a 7, todo funcionó bien hasta el momento. El código fuente está en Delphi, accesible y puede ser modificado.

Cómo funciona

En Delphi puedo usar el io.dll para establecer el valor del puerto paralelo, pero también hay otras soluciones disponibles, como inpout32.dll o port.dll. Llamo a algo como PortOut, especifico un número de puerto y el valor de byte y el puerto está configurado.

Lo que ahora quieren hacer - y donde necesito ayuda

Ahora el cambio: esto tiene que trabajar en una máquina que no tiene puerto paralelo integrado (ni siquiera en la placa base). Hay varias opciones disponibles:

  • uso de un USB a paralelo adaptador de puerto para agregar un puerto LPT al PC
  • utilizar una tarjeta PCI que añade un puerto LPT al PC
  • utilizar una tarjeta PCI Express que agrega un puerto LPT a la PC

Actualmente estoy encaminándome y concentrándome en la posibilidad más fácil y más barata: un adaptador USB a Puerto Paralelo.

pregunta principal

Parece que hay diferencias entre los adaptadores de puerto paralelo que se hacen simplemente para conectar una impresora y otros adaptadores que parecen ser más potente. ¿Hay realmente una diferencia? ¿O puedo usar uno de estos 5 $ adaptadores de impresora, enchufar mi propio hardware y acceder al puerto desde el código Delphi? ¿O necesito un adaptador especial? ¿Alguien ha experimentado esto? Hay una pregunta relacionada here, pero los diferentes tipos de adaptadores (si existen) no se mencionan allí. This page sugiere que hay diferencias:

Al contrario de todos los demás puertos USB paralelas que se pueden conectar a impresoras solamente, esto hace que la conexión a la mayoría del hardware.

Espero que exista una solución a través de USB porque para esto no es necesario abrir la PC, lo que significa que se puede agregar el adaptador bajo demanda.

Sub-pregunta

¿Tiene experiencia con solución PCI (Express)? Tengo que usar uno si el enfoque USB no es exitoso.

Respuesta

9

Desde que he estado luchando con esto recientemente esto es lo que he descubierto; Si se refiere al uso del direccionamiento del puerto IO (indicado por su referencia a inpout32.dll), no. A menos que su controlador de puerto paralelo USB admita la emulación de puerto completo o la virtualización, que la mayoría no hace, esto generalmente no es posible. Si necesita acceder directamente al puerto para realizar un "intercambio de bits" normal, debe obtener una tarjeta PCI de puerto paralelo por separado. La mayoría de ellos se presentan como IO normal en la (s) dirección (es) estándar (s). Supongo que no está planeando usar el puerto paralelo para comunicarse con una impresora, ¿verdad?

Lo que es interesante es que los adaptadores USB-Serial son mucho más fáciles de usar ya que aparecen como simples dispositivos virtuales donde simplemente puede "abrirlos" usando una secuencia simple; TFileStream.Create ("COM1", fmOpenRead) o Windows.CreateFile ("COM2", ...);

Aquí es algunos dispositivos que pretenden hacer la emulación completa de un puerto paralelo a través de USB:

https://www-user.tu-chemnitz.de/~ygu/bastelecke/PC/USB2LPT/index.en.htm

+1

muchas gracias por compartir sus puntos de vista! Ahora también realizamos algunas pruebas aquí y nuestros hallazgos se corresponden con los tuyos. Hay algunas formas extravagantes para controlar el dispositivo USB (también a través de CreateFile), pero falla la configuración de bits individuales a través de WriteFile, (probablemente) porque el adaptador envía una respuesta y espera la respuesta. Y no, no tenemos una impresora adjunta. Solo queremos establecer bits individuales para dispositivos personalizados. Pero de ninguna manera :(También llegué a la página de TU Chemnitz, pero esto parecía ser excesivo. Simplemente tiene que funcionar rápido y sin la sobrecarga de dispositivos hechos a medida. –

Cuestiones relacionadas