----------------------------------
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]