Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

ACCESO AL PUERTO PARALELO

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

NECESITO SABER LAS INSTRUCCIONES O UN EJEMPLO DE CODIGO PARA TRABAJAR CON EL PUERTO PARALELO.
AGRADEZCO CUALQUIER AYUDA.
Volver arriba
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

Prodrias hacer una funcion en asembler para que te envie y reciba datos del puerto, la semana pasada trabaje con eso y me funciono, aqui te va la funcion...

#pragma inline
#include <Classes.hpp>

//---------------------------------------------------------------------------

void out(BYTE c){
asm{
push ax
push dx
mov dx,0x0378
mov al,c
out dx,al
pop dx
pop ax
}
}

BYTE in(void){
BYTE ca;
asm{
push ax
push dx
mov dx,0x0378
in al,dx
mov ca,al
pop dx
pop ax
}
return ca;
}

/// Y esto va en el .cpp, o donde lo quieras llamar

void __fastcall ????()
{
BYTE c;
c=in();
...
.
.
out(c);
}

espero que te sirva de algo

Fox

Volver arriba
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

GRACIAS FOX, CREO QUE ESTO ES EXACTAMENTE LO QUE NECESITO, PERO SE ME OLVIDO COMENTAR QUE SOY NUEVO EN C++ BUILDER, POR LO TANTO ME GUSTARIA ME AMPLIARAS LA EXPLICACION O ME ENVIARAS EL CODIGO DE LA PARTE QUE LLAMA LAS FUNCIONE EN ASSEMBLER, CON COMENTARIOS PARA ENTENDERLO MEJOR, TE AGRADEZCO Y DISCULPA LA IGNORANCIA.
Volver arriba
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

Tendrás problemas con la tecnología NT para el código que recibiste.

Puedes buscar en la web por DriverLinx o DriverLynx o Por95Nt.exe.
Trae componentes libres para utilizar.


Volver arriba
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

Hola
Para hacer pruebas y no complicarte la vida, en la unidad, después de TForm *Form1

declaras los prototipos de las funciones y después las funciones tal y como te las ha mandado FOX

Despues te creas un boton ( por ejemplo) y en el evento Button1Click pones

out ('A'); esto mandaría la A al puerto paralelo

Después con otro botón y un TLabel, pones en su evento Button2Click

Label1->Caption=AnsiString(in());
Esto mostraría en el label el caracter ASC que lee del puerto paralelo

Nota: el valor de 0x378 corresponde al LPT1,
el 0x278 es el LPT2

El código que mandó FOX lo puedes mejorar poniendo como parámetros el valor del puerto a leer, siendo la función más general
Otra cosa, indicarte que esto sólo funciona bien en Win9X, y no se si en Me, en 2000 y XP no funciona, te da problemas de excepción de privileguios, te lo comento porque me ha pasado, en este caso el camino es otro, si te interesa dilo.

Volver arriba
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

¡Hola Manolo!
A mi si me interesa saber otra forma de acceder al puerto paralelo. Sobre todo si es para XP.
Volver arriba
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

Hola tecno
Yo utilizo Win2K y tuve el problema de las excepciones de privilegios. Esto lo solucioné bajándome el Por95NT.exe, al descoprimir te trae un DLL, los Lib y .h necesarios para que puedeas añadirlos a tu proyecto y poder trabajar con los puertos del sistema, en Win2K me funcionó, en XP ¿? supongo que también.
Saludos Manolo
Volver arriba
Mensaje    Asunto: ACCESO AL PUERTO PARALELO Responder citando

¡Gracias Manolo!
Probaré lo que me dices aver que tal.
Wink
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.