Foro de elhacker.net

Informática => Electrónica => Mensaje iniciado por: ----FEl---- en 22 Diciembre 2005, 04:31 am



Título: se aceptan sugerencias
Publicado por: ----FEl---- en 22 Diciembre 2005, 04:31 am
estoy en un problema que me gustaria que me puedan resolver

tengo que hacer un proyecto  en el cual se utilice el manejo de puertos de la pc 
y no se me ocurre nada

si alguien me podria ayudar o sugerir que hacer se lo agradesere mucho

grax!!!!!!!!!!!!!!!!!!!!!
:rolleyes:


Título: Re: se aceptan sugerencias
Publicado por: El_Niño_Güey en 22 Diciembre 2005, 14:54 pm
A que tipo de manejo te refieres....?
pon un ejemplo o algo similar...


Título: Re: se aceptan sugerencias
Publicado por: ----FEl---- en 23 Diciembre 2005, 01:49 am
pues tenia pensado 

manejar un carro o un brazo  por medio de la computadora haciendo un programa en c++

pero pues es algo muy trillado para la clase en la cual tengo que hacer el proyecto

a que me refiero con el manejo
pues te diria que es que por medio de la computadora manejes algun tipo de hardware

espero y me de a entender

grax!!!!!!!!!!1


Título: Re: se aceptan sugerencias
Publicado por: Meta en 29 Diciembre 2005, 19:00 pm
Para eso están los automatas


Título: Re: se aceptan sugerencias
Publicado por: Monkito en 31 Diciembre 2005, 00:04 am
No capto específicamente lo que deseas, pero ten esto tal vez te podría ayudar:

Manejo del lpt1 desde linux

el pin 2 al 9 son salidas controlables
el pin 1 vcc +5v constante
el pin 18 al 25 GND

Conecta un display de cátodo común, las entradas A,B,C,D,E,F,G a las salidas del 2 al 9 del paralelo
el cátado envía mediante una resistencia de 1k a tierra (18 a 25 puenteados)

el siguiente programa lo puedes compilar con
Código:
g++ -Wno-deprecated -o2 -o contar contar.cpp

Código:

#include <iostream.h>
#include <stdio.h>
#include <sys/io.h>

#define Lpt1 0x378

const int led[8]={1,2,4,8,16,32,64,128};
const int A=1,B=2,C=4,D=8,E=16,F=32,G=64;
/*
  A
F   B
  G
E   C
  D
*/
const int display[]={ A+B+C+D+E+F, //0
B+C, //1
A+B+G+E+D, //2
A+B+G+C+D, //3
F+G+B+C, //4
A+F+G+C+D, //5
A+F+G+E+C+D, //6
A+B+C, //7
A+B+C+D+E+F+G, //8
A+G+F+B+C, //9
E+F+A+B+C+G, //A
F+E+G+D+C, //B
A+F+E+D, //C
E+G+D+C+B, //D
A+F+G+E+D, //E
A+F+G+E //F
};

int main()
{
int i=0;

if(ioperm(Lpt1,3,1))
{
perror("ioperm");
}
while(1)
{
for(i=0;i<16;i++)
{
outb(display[i],Lpt1);
usleep(1000000);
}
}
outb(0x00,Lpt1);
if(ioperm(Lpt1,3,0))
{
perror("ioperm");
}
}


Solo puede ser ejecutado como root por las funciones de ioperm,...


Espero que esto te ayude un poco.
Saludos... ;D ;D ;D


Título: Re: se aceptan sugerencias
Publicado por: ----FEl---- en 1 Enero 2006, 02:30 am
ok muchas gracias por responder

aunque el programa lo tengo que hacer en  borlan c++
de todas formas me servira para darme una idea

grax!!!!!!!!!!!!!!