Título: Programar el puerto paralelo en Windows con inpout32.dll y hwinterface.sys Publicado por: ~ en 9 Abril 2016, 04:06 am Programar el puerto paralelo en Windows (http://devel.archefire.org/favicons/www.winzip.com.ico) Descargar lpthandler.tar (http://devel.archefire.org/TextRecordings/lpthandler.tar) Solo necesitamos conectar un LED entre el pin 9 y el 22 del paralelo. O como muestra el esquema, entre cualquiera de los pines anaranjados (los pines de datos) y cualquiera de los pines grises (pines de polo a Tierra, GND). Tenemos un total de 16 de esos pines, 2 pines por bit de datos para poder conectar las 2 patas de un LED u otro dispositivo. Asegurarse de poner el LED en la polaridad correcta, o darle vuelta, o simplemente no va a dejar pasar la electricidad y no va a encender. Uso de este programa para encender todos los 8 LEDS: Código: lpthandler.exe 3bc 11111111 Uso de este programa para apagar todos los 8 LEDS: Código: lpthandler.exe 3bc 00000000 Cada uno de los 8 bits a escribir debe ser un 1 o 0. Un 0 apaga y un 1 enciende. Código
Por si no se entiende el código, se puede ver cómo se escribió en tiempo real, carácter por carácter como en la programación original: sJRbGohmA3M >> Ver Tutorial Animado de Código de lpthandler.c << (http://devel.archefire.org/TextRecordings/Manejo del Puerto Paralelo.png) (http://devel.archefire.org/TextRecordings/Manejo del Puerto Paralelo.html# Manejo del Puerto Paralelo/src/win32/lpthandler.c) Lo primero son los binarios y el código fuente del driver de acceso general a bajo nivel: inpout32_source_and_bins.zip [Mirror 1] (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiS_cXd7PzLAhVIXR4KHdW9BgYQFggdMAA&url=http%3A%2F%2Fen.osdn.jp%2Fprojects%2Fsfnet_andresprogs%2Fdownloads%2FOldFiles%2Finpout32_source_and_bins.zip%2F&usg=AFQjCNGH5ybdR8uSPIeMkiXd-LH2jys90w) inpout32_source_and_bins.zip [Mirror 2] (http://devel.archefire.org/programming/Windows/drivers/inpout32_source_and_bins.zip) Después necesitamos saber qué direcciones de I/O tiene el puerto paralelo. Los puertos de I/O son como direcciones de memoria que van desde 0 hasta 65535. Cada una de esas posiciones podemos enviar 1, 2 o 4 bytes, o nosotros podemos recibir 1, 2 o 4 bytes. Por ahora solo vamos a enviar 1 byte a la vez. El LPT1 está en el puerto (0x378, 378h)(888 decimal) o (0x3BC, 3BCh)(956 decimal). El LPT2 está en el puerto (0x278, 278h)(632 decimal). El LPT3 está en el puerto (0x3BC, 3BCh)(956 decimal). El puerto paralelo es un periférico de 8 bits, así que usa 8 pines de datos para representar los 8 bits de cada byte (ya que usa datos y señales en paralelo, simultáneos), y esos son los pines que manipulamos con encendido o apagado cada vez que escribimos, por ejemplo, al puerto 0x378 (Los Pines Anaranjados, del 2 al 9): Conector Hembra, en la Tarjeta Madre: (http://devel.archefire.org/tmp/parallel__0000.png) Ahora necesitamos usar void _stdcall Out32(short PortAddress, short data), que viene del driver inpout32.dll y hwinterface.sys. Algo como esto: Código: Out32(378h, 255-0); El código completo es el siguiente: Código
Título: Re: Programar el puerto paralelo en Windows con inpout32.dll y hwinterface.sys Publicado por: ~ en 9 Abril 2016, 04:13 am Programar el Puerto Paralelo en Windows, Parte 2 Este simplemente es la grabación en video de la grabación de texto para conveniencia y para anidar aquí mismo en los mensajes del foro la grabación, además de también mostrar unos pocos detalles extra durante y fuera de la grabación de texto: Basics of Parallel Port Programming Under Windows, Part 2 of 2 (http://www.youtube.com/watch?v=zAxeCLuWZCk) zAxeCLuWZCk Título: Re: Programar el puerto paralelo en Windows con inpout32.dll y hwinterface.sys Publicado por: Hason en 20 Abril 2016, 14:26 pm Hola , saludos, estoy mirando esto, y no me queda claro , que puedo hacer con esto.
Haber, ¿con el puerto paralelo podria reflasear los drivers de la placa base si no tengo acceso normalmente? Agradeceria mayor información. Un saludo. |