Página 1 de 1

AYUDA ¿como saber la direccion hexadecimal del puerto usb?

Publicado: 07 Dic 2010, 22:08
por funesto5555
Pues miren la situacion es la siguinte: necesito la direccion del puerto usb; pues tengo un programa en lenguaje c que manda bits por el puerto paralelo para hacer prender unos leds; sin embargo en la clase nos pidieron hacerlo con un adaptador de usb a paralelo!!!! desde luego los programas que he encontrado para la ejecucion piden la direccion del puerto!!!
si alguine tiene un programa que en lenguaje c o cualquiera; en el que se pueda hacer esta operacion se los agradecere mucho!!

Aqui esta el programa que encontre en la red


#include <stdio.h>
#include <unistd.h>
//asm/io.h es donde están definidas las funciones ioperm() y outb()
#include <asm/io.h>

/* Esta es la direccion más frecuente para el puerto paralelo*/
#define DATAPORT 0x378

int main()
{
//Obtenemos permiso de acceso para la direccion de DATAPORT y
//las 2 siguientes
if (ioperm(DATAPORT, 3, 1)) {perror("ioperm"); return 1;}

//Entramos en un bucle infinito
while(1)
{
int input;

//Le pedimos al usuario que introduzca un número
printf("Introduce un número entre 0 y 255 (-1 para salir)\n");
//Leemos el valor introducido y lo guardamos en "input"
scanf("%d", &input);
//Si "input" vale "-1" salimos del bucle
if(input==-1) break;
//Si "input" no está entre "0" y "255" (y no era "-1" no nos
//interesa, así que volvemos directamente al comienzo del bucle
if(input < 0 || input > 255) continue;

//Si hemos llegado hasta aqui es que "input" vale entre "0" y
//"255" y podemos sacarlo por el puerto paralelo
outb(input, DATAPORT);
}

//Antes de terminar el programa dejamos los permisos de acceso
//a los puertos como estaban
if (ioperm(DATAPORT, 3, 0)) {perror("ioperm"); return 1;}

//El programa termina sin errores
return 0;
}

Re: AYUDA ¿como saber la direccion hexadecimal del puerto usb?

Publicado: 07 Dic 2010, 23:07
por elQuique

Re: AYUDA ¿como saber la direccion hexadecimal del puerto usb?

Publicado: 15 Dic 2010, 18:41
por Link
Bueno amigo, no soy experto en C pero el comando "ioperm" no es usado en consolas de Windows, estas corriendolo en Windows o en otro OS?

Y en lugar de usar un WHILE, porque no usas un SWITCH, eso lo digo cuando dices en el comentario que "llegas a un bucle infinito"

¿Para que quiere un programador un bucle infinito?

Re: AYUDA ¿como saber la direccion hexadecimal del puerto usb?

Publicado: 16 Dic 2010, 00:25
por elQuique
Pues para consumir recursos finitos :)

Re: AYUDA ¿como saber la direccion hexadecimal del puerto usb?

Publicado: 16 Dic 2010, 20:02
por funesto5555
jajaja, gracias por au ayuda, pero descubri que para manipular puertos en la compu es necesario crear librerias será cierto eso? al menos en visual microsoft asi se trabaja.

Re: AYUDA ¿como saber la direccion hexadecimal del puerto usb?

Publicado: 17 Dic 2010, 15:44
por Link
En C#(Visual Microsoft) es con objetos, al menos que quieras crearte cientos :x

Y lo de las librerias, lo dudo, ya estan establecidas, son muchas, puedes investigar cuales te pueden ayudar.