---------------------------------- AYUDA con la función inb() para leer 5 Volts en algún pin del conector de Puerto Paralelo. -----------------------------------
Hola: Necesito ayuda urgente sobre cómo leer señales de 5 Volts en el Puerto Paralelo. (Entrada de ficha DB-25, de 25 pines) Estuve mirando man-páginas y bajando varios documentos de la red, pero no hay caso, ¡¡¡ no puedo registrar voltaje en los pines del Pto. Paralelo. Ahhhh!!! ¿¿¿ Qué es lo que estoy haciendo mal ??? Tengo Linux Debian Potato (Kernel 2.2.17). El puerto SÍ responde, ya que cuando al Bus de Datos (a sus pines) le envío una señal, obtengo los 5 Volts en cualquiera de sus pines de datos (desde el 2 hasta el 9). Espero alguien me ayude, dado mi estado catatónico actual. Desde ya, muchas gracias... Eduardo. ------------------------------------------- El programa en detalle es: ----------------------------------------------- #include <stdio.h> #include <sys/io.h> #include <unistd.h> #define BASE (0x378) #define ESTADO BASE+1 #define CONTROL BASE+2 void main () { int Dato; // Solicitamos permiso para habilitar el puerto (apertura): if (ioperm (BASE, 3 , 1) != 0) { printf ("\n ERROR"); exit (1);} // Poner a Masa Pines: outb (0x0B, BASE+1); //(BASE+1) es la direccion del Bus de CONTROL. // Lectura de datos por Puerto Paralelo: for (int i=0; i<60; i++) { //Dato = Leer_Datos_PP (); //Dato = inb (BASE); //Dato = ((inb(ESTADO)^0x80) >> 3); // Lectura del PIN 10 (bit [6] del registro de Estado): // Pongo un voltaje de 5 Volts en pin 10: Dato = inb(ESTADO) & 0x40; printf ("\n Dato = %d = %c = %h.", Dato, Dato, Dato); sleep (1); // Esperar 1 segundo. } // Solicitamos permiso para deshabilitar el puerto (cierre): if (ioperm (BASE, 3 , 0) != 0) printf ("\n ERROR"); } ------------------------------------------------ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]