Estoy tratando de usar un puerto paralelo desde una computadora como una forma de salida digital barata para hacer varias cosas (motores de control, luces LED, interruptores de límite de lectura, etc.).
Quiero saber cómo controlar los 8 pines de datos en un puerto paralelo utilizando C ++, sin embargo, hay un problema. Dado que estoy usando una computadora moderna con un sistema operativo moderno, esto presenta algunos problemas.
En primer lugar, los sistemas operativos modernos de Windows no permiten el acceso directo a los pines del puerto paralelo, debo pasar por un controlador. Se me ha indicado que use Inpout32 para hacer esto, sin embargo, el programa de ejemplo se compiló y se ejecutó correctamente, pero mi hardware adjunto no respondió. Otra persona me ha indicado que use la API de Windows. Busqué en MSDN y solo encontré menciones de la función apropiada, pero sin algún código de ejemplo, estoy perdido (tal vez estoy buscando en los lugares equivocados).
El segundo problema es que mi nueva computadora no tiene puertos paralelos. Debo usar USB para puertos paralelos (barato y directo desde China, $ 5 cada uno, gastos de envío e impuestos incluidos). La computadora reconoce los puertos como controladores IEEE-1284 y los controladores apropiados se instalaron automáticamente y la computadora informa que el dispositivo "funciona correctamente". Por lo que he visto en línea, parece haber una gran variedad de opiniones sobre la utilidad de estos conectores de puerto USB a paralelo. Una persona dice que funciona perfectamente bien como cualquier puerto paralelo convencional soldado a la placa base, otra dice que funcionará con algunos hacks de hardware, una dice que puede escribir pero no leer, y finalmente otra dice que no funcionará en absoluto porque son no está diseñado para funcionar de la misma manera que los puertos paralelos "reales".
Ya he investigado mucho antes de venir aquí (como último recurso, supongo, StackOverflow no dio ninguna respuesta, incluso después de aplicar una recompensa). Casi toda la información que encontré en la programación de puertos paralelos está desactualizada y se supone que tiene un puerto paralelo en su placa base, un sistema operativo anterior a Windows-NT o ambos.
Si alguien tiene alguna idea de cómo hacer esto, ¿podría compartirlo conmigo?
Gracias,
-Faken
Nota: Estoy ejecutando el sistema operativo Windows 7 x64 en un Core i7 860. Estoy programando en C ++ en Visual Studio 2008 pro. Los conectores de puerto USB a paralelo se conectan a través de puertos USB 2.0.