TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: migsantiago en 20 de Abril de 2006, 21:49:51

Título: Puerto Paralelo y Visual C++
Publicado por: migsantiago en 20 de Abril de 2006, 21:49:51
Hola

Como lo prometí, les pongo una guía sencilla sobre como usar el puerto paralelo en cualquier Windows, incluso el renegado XP. Lo he probado bajo Visual C++ 6 y .Net.

Para empezar comento que todo fue tomado de:

Autor: Fred Bulback
http://www.geekhideout.com/iodll.shtml

Visiten la página y descarguen los archivos io.cpp, io.dll, io.zip e io.h. A continuación los pasos a seguir.

- Crear una aplicación de diálogo de tipo MFC
- Importar archivos io.h en headers y io.cpp en source files usando la ventana Explorador de soluciones(descargarlos de la página de arriba)
- En el archivo xxxdlg.cpp agregar

#include "io.h"

- Abrir resource.h y agregar la dirección del puerto paralelo junto a las demás #define (para no declararla a cada rato)

#define PORTADDRESS                     0x378

- Ir a InitDialog de xxxdlg.cpp y llamar LoadIODLL()

LoadIODLL(); //inicia puertos
PortOut(PORTADDRESS,0x00); //Las terminales de salida de 0x378 se pondrán a 0V

- Otro ejemplo:

PortOut(PORTADDRESS,0xff); //Las terminales de salida de 0x378 se pondrán a 5V


Las instrucciones disponibles para c++ son:

C/C++ Prototypes

void WINAPI PortOut(short int Port, char Data);
void WINAPI PortWordOut(short int Port, short int Data);
void WINAPI PortDWordOut(short int Port, int Data);
char WINAPI PortIn(short int Port);
short int WINAPI PortWordIn(short int Port);
int WINAPI PortDWordIn(short int Port);
void WINAPI SetPortBit(short int Port, char Bit);
void WINAPI ClrPortBit(short int Port, char Bit);
void WINAPI NotPortBit(short int Port, char Bit);
short int WINAPI GetPortBit(short int Port, char Bit);
short int WINAPI RightPortShift(short int Port, short int Val);
short int WINAPI LeftPortShift(short int Port, short int Val);
short int WINAPI IsDriverInstalled();

Bueno, así de fácil es controlarlo. Cabe mencionar que la librería io.dll sirve para visual basic, delphi y otros más.  :wink:

Adjunto solución de visual c++ net. Por favor usar Winzip 9 para descomprimir los archivos.

(http://img155.imageshack.us/img155/5646/puerto0ag.jpg)


Título: Re: Puerto Paralelo y Visual C++
Publicado por: Azicuetano en 15 de Agosto de 2006, 13:07:58
Hola chicos!

En primer lugar quiero agradecer a migsantiago este ejemplo tan maravilloso. Hace unos años me dió por jugar con el puerto paralelo de mi ordenador y lo conseguí sin ningún problema pero... con winxp son palabras mayores.

Me partí ayer los cuernos intentandolo y nada, que no había manera. Me enteré un poco por donde iban los tiros pero,  ha sido ver este ejemplo y en cuestión de unos minutos ya hago con el puerto paralelo lo que quiero.

Gracias por el ejemplo migsantiago, me ha sido de gran ayuda.


Un saludo desde Alicante.
Título: Re: Puerto Paralelo y Visual C++
Publicado por: migsantiago en 15 de Agosto de 2006, 19:12:00
Qué bueno que te sirvió  :mrgreen:
Título: Re: Puerto Paralelo y Visual C++
Publicado por: Chrisbaf en 29 de Septiembre de 2007, 00:28:06
disculpa la ingnorancia migsantiango como hago para vincular los archivos
Título: Re: Puerto Paralelo y Visual C++
Publicado por: migsantiago en 29 de Septiembre de 2007, 19:33:17
Hola

¿En qué parte te da problemas?