miércoles, 22 de junio de 2011

MANEJO DE PUERTO PARALELO

PUERTO PARALELO
       (0x378)

   La salida de datos de una computadora a un hardware de propósito específico, se lleva a cabo por medio del uso de los puertos, estos pueden ser el paralelo, serial, o incluso vía inalámbrica. El más sencillo de usar, dado que no usa sincronía para el envío de datos es el puerto paralelo. Para ejemplificar esto usaremos Linux Mint, una distribución basada en Debian, y que gracias al uso del paquete apt, no facilita la configuración rápida de un ambiente de desarrollo básico.
    Primeramente, hay que entrar como usuario root, o emplear el comando sudo, se hará lo siguiente:

$sudo apt-get install build-essential

 De esta manera, se tendrá lo básico para hacer el desarrollo, primero empezaremos con el programa, esto se puede llevar a cabo con cualquier editor, en este caso emplearemos vi:
$vi ejemplo.c
Ya dentro del editor, se teclea lo siguiente:
#include <stdio.h>
#include <stdlib.h>
#include <sys/io.h>
#define puerto 0x378
int main(void){
   int i=0;
   unsigned int p = 0x02;
   
   if( ioperm(puerto,1,1)) {
      perror("Se ha detectado un error");
      exit(1);
   }
   for(i = 1 ; i < 20 ; i++ ) {
      outb(p,puerto);
      sleep(3);
      p = 0x00;
      outb(p,puerto);
      if ( i%2 != 0 )
         p = 0x00;
     else
        p = 0x02;
    }
    if ( ioperm(puerto,1,0)){
      perror("Se ha detectado un error ");
      exit(1);
   }
   exit(0);

 }
Esto se graba, y se compila, para después invocarse desde consola, de la siguiente forma:

$ gcc -O2 -o ejemplo ejemplo.c

Ya una vez compilado, lo podemos invocar de la siguiente forma:

$ ./ejemplo  <ENTER>

No hará nada visible para nosotros, ahora debemos de preparar la parte de hardware, para lo siguiente es necesario cuentes con el siguiente material:
- transistores NPN C1008 Y-913 o 2N3904
- misma cantidad de LED que de transistores
- resistencias de 220 ohms, igual cantidad que el número de LEDs
- 2 pares de resistencias de 120 ohms, por cada LED que se use.
- 1 tableta prototypeboard, y cables para conexión en proto.

El puerto paralelo tiene 8 bits de datos, mediante los cuales se envía la información.







No hay comentarios:

Publicar un comentario