Manejo del puerto LPT o DB25 en WXP

Bueno el manejor del puerto paralelo, db25 o LPT es clásico que siempre te lo pidan para algun proyecto.

Pues para que no se les haga pesado pues pense en hacer este post, y voy a tratar que sea de los más sencillo y explicativo.

El puerto tiene 25 pines clasificados en cuatro grupos: ocho pines de salida o de Datos (del número 2 al 9), ocho de puesta a tierra (del número 18 al 25), cinco de entrada o de Estado (del 10 al 13 y el 15) y cuatro pines de Control. Como consecuencia tenemos la posibilidad de enviar 8 señales electrónicas desde el ordenador y de detectar fácilmente hasta 5 señales desde el exterior; para ello bastará utilizar un cable para cada uno de estos pines, junto con uno más, conectado a los pines de masa (GND) dado que para que haya un cambio o se este captando datos del exterior se tiene que mandar estos pines a tierra.

puertoparalelo

Ya tienendo un poco de conocimiento de como esta constituido el puerto paralelo pues vamos a ver como podemos interactuar con el.

Para tener acceso a las direcciones de memoria donde se almacenan los datos que son transmitodos por el puerto paralelo tenemos que liberarlos, ya que el sistema operativo controla todo el hardware de nuestra PC.

Asi que para poder tener acceso a la direccion de memoria del puerto paralelo tenemos que utilizar una aplicacion que nos permite realizar esta accion, se llama userportcon esta aplicacion lo que haces e

  • Extraer los archivos (ahi vienen ejemplos y todo)
  • Ya extraidos los archivos vamos a copiar los archivos UserPort.sys y UserPort.exe.
  • Estos archivos los vamos a pegar en la carpeta C:\WINDOWS\System32\
  • Ya pegados los archivos ejecutamos el UserPort.exe y nos aparecera una venta como esta:

userport

  • Simplemente damos clic en Start y Listo !!! ya podemos accedor a las direcciones de memoria para utilizar el puerto paralelo.
Y para ver como esta trabajando el puerto paralelo les dejo una aplicacion que monitorea las acciones del puerto se llama parmon aqui les dejo una imagen como se ve
parmon
Bueno ya teniedo todos listo vamos a la parte de programacion, en este caso lo vamos hacer en C++, lo pueden hacer en otros lenguajes solo es cuestion de investigar ( :S jeje ).

Aqui les dejo unos ejemplos
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include
#include   // Esta libreria
#include // y esta son necesarias para utilizar el outport
#include
// Inicio del main
void main() {
// variable entera llamada led con un valor de 1
int led = 1;
// palabra reservada outport para mandar datos a una direccion de memora
// donde se ingresa la direccion y el dato a mandar
// como el puerto se maneja en hexadecimal
// tenemos que entender que si led = 1 nos referimos al primer led
// pero para referirnos al segundo led seria led = 2 y para el tercero
// es led = 4
// ya que son 8 pines que van del
// 1 2 4 8 16 24 32 64
// y si quieres que esten activos el pin 1 y 2 solo tienes que sumar los numeros
// para que esten los dos activos que seria led = 1 + 2 = 3
// la direccion de memoria 0x378 es para mandar datos al puerto
outportb(0x378,led);
}
// Fin del main
Aqui les dejo otro para obtener los datos enviados al puerto
?
1
2
3
4
5
6
#include
#include
#include
#include
// inicio del main
void main() {  // variable entera llamada i  int i;  // almacenamos el valor que hay en el puerto en la variable i  // la palabra reservada inport es para obtener los datos de entrada  // la direccion 0x379 es para obtener los datos  i=inportb(0x379);  // imprimimos el valor  cout<
Bueno eso es todo espero que les sirva de algo y si tiene alguna duda no duden en consultarme

Entradas populares