Domingo 17 de Noviembre de 2024, 20:34
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Como Trato El Puerto Paralelo???
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Como Trato El Puerto Paralelo??? (Leído 2108 veces)
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Como Trato El Puerto Paralelo???
«
en:
Lunes 26 de Abril de 2004, 21:36 »
0
Hola a todos, hacia rato que no viajaba por aqui y dejaba algun post, ahora llego el momento de dejar una duda... el pproblema consiste en que quiero manejar el puerto LPT sobre windows XP y NT pero no logro manejarlo de ninguna manera, ya que aparentemente no se puede programar en assembler sobre esots OS... como puedo hacer para manejar los puertos dentro de estos windows, la idea seria hacer una DLL, pero no se como empezarla. Alguien me podria dar una mano. Saludos y mil Gracias
Tweet
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Como Trato El Puerto Paralelo???
«
Respuesta #1 en:
Lunes 26 de Abril de 2004, 21:49 »
0
hola amigo lo mas facil es que uses la api de windows.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Como Trato El Puerto Paralelo???
«
Respuesta #2 en:
Martes 27 de Abril de 2004, 13:42 »
0
JuanK, que buena imagen tienes como avatar!!!
... y sobre las api, he estado buscandolas por todo el mundo a traves del google y alltheweb y no logro encontrar la API que maneja este puerto, Solo tengo info de la API del port Comm, pero no del LPT, como hago para encontrar la info. Gracias y Mil Saludos
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
Gelion
Miembro activo
Mensajes: 39
Re: Como Trato El Puerto Paralelo???
«
Respuesta #3 en:
Martes 27 de Abril de 2004, 20:04 »
0
...LPT
Tengo esto, no se si te sirva
Código: Text
-Determina la direccion del puerto paralelo
-Puerto.c
#include <stdio.h>
#include <dos.h>
int main()
{
unsigned int __far *puntero_a_direccion;
int i;
puntero_a_direccion=(unsigned int __far *)0x00000408;
for (i=0; i<3; i++)
{
if (*puntero_a_direccion == 0)
printf("No se encontro puerto asignado a LPT%d \n", i+1);
else
printf("La direccion asignada a LPT%d es 0x%Xh\n",
i+1, *puntero_a_direccion);
puntero_a_direccion++;
}
return 0;
}
Otro para la informacion del puerto
Código: Text
#include <stdio.h>
#include <dos.h>
int puerto(int direcc);
int seleccion;
int main()
{
unsigned int __far *puntero_a_direccion;
int i, direccion[3]={0,0,0}, disponible[3]={0,0,0};
puntero_a_direccion = (unsigned int __far *)0x00000408;
printf("Seleccione el puerto:\n");
/* ¿Cuantos puertos existen? */
for (i=0; i<3; i++)
{
if (*puntero_a_direccion == 0)
printf("Puerto LPT%d...............no disponible\n", i+1);
else
{
disponible[i] = 1;
direccion[i] = *puntero_a_direccion;
printf("Puerto LPT%d...............%d\n", i+1, i+1);
}
puntero_a_direccion++;
}
printf("Salir del programa........0\n");
scanf("%d", &seleccion);
do
{
switch(seleccion)
{
case 0:/* Salir del programa */
printf("Adios!!!\n");
return 0;
break;
case 1:/* Puerto LPT1 */
if(disponible[0]==1)
puerto(direccion[0]);
else
{
printf("ERROR: PUERTO NO DISPONIBLE\n");
return 0;
}
break;
case 2:/* Puerto LPT2 */
if(disponible[1]==1)
puerto(direccion[1]);
else
{
printf("ERROR: PUERTO NO DISPONIBLE\n");
return 0;
}
break;
case 3:/* Puerto LPT3 */
if(disponible[2]==1)
puerto(direccion[2]);
else
{
printf("ERROR: PUERTO NO DISPONIBLE\n");
return 0;
}
break;
default:
printf("ERROR: OPCION INCORRECTA!\n");
break;
}
if(seleccion!=0)
{
printf("Seleccione otra opcion\n");
scanf("%d", &seleccion);
}
}
while(seleccion!=0);
return 0;
}
int puerto(int direcc)
{
unsigned char valor; /* Solo valores entre 0 y 255 */
printf("Ahora puede escribir cualquier valor\n");
printf("entre 1 y 255, 0 para terminar el programa\n");
do
{
printf("Valor al puerto?\n");
scanf("%d", &valor);
outp(direcc, valor);
printf("Se ha escrito %d al puerto\n", valor);
}
while(valor!=0);
return seleccion=0;
}
Si quieres el codigo de la dll, tambien lo tengo, pero ya me voy, en la noche lo pongo.
Sé que crees que comprendes lo que piensas que he dicho, pero no estoy seguro de que lo que creíste oír sea lo que yo quise decir
Ruben3d
Miembro HIPER activo
Mensajes: 710
Nacionalidad:
Re: Como Trato El Puerto Paralelo???
«
Respuesta #4 en:
Martes 27 de Abril de 2004, 20:17 »
0
En teoría, los sistemas basados en WinNT no deberían dejarte acceder así como así a la dirección de un dispositivo, aunque no sé si funcionará, porque no he probado nunca a hacer eso.
Un saludo.
Ruben3d
Personal
|
LinkedIn
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Como Trato El Puerto Paralelo???
«
Respuesta #5 en:
Martes 27 de Abril de 2004, 23:45 »
0
Voy a ver si se puede adaptar, ya que lo necesito para modo grafico sobre win XP... creo que ya he solucionado el problema, Gracias a todos, al que necesite info acerca del tema, aqui me tienen. Saludos y nuevamente Gracias!!!
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Como Trato El Puerto Paralelo???