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 

inport , outport

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: inport , outport Responder citando

Hola!!
Como se utilizan inport y outport en builder?? Gracias
Volver arriba
Mensaje    Asunto: inport , outport Responder citando

Hola Donchu,

para utilizar estas funciones en C++ Builder se tienen que fabricar, no estan incluidas. Yo utilizo ports.c y ports.h que encontré en una de las múltiples páginas que hablan sobre la programación del puerto paralelo.

Aunque sean un poco largos te adjunto los ficheros

Saludos
Joan

/****** ports.c *******************/

#include "ports.h"

//-----------------------------------------------------------------------
// functions
// inport - inputs a word from a hardware port
// inportb - inputs a byte from a hardware port
// inp - inputs a byte from a hardware port
// inpw - inputs a word from a hardware port
//
// outport - outputs a word to a hardware port
// outportb - outputs a byte to a hardware port
// outp - outputs a byte to a hardware port
// outpw - outputs a word to a hardware port
//-----------------------------------------------------------------------

unsigned short inport(unsigned short port)
{
asm mov dx,port
asm in ax,dx
return _AX;
}

unsigned char inportb(unsigned short port)
{
asm mov dx,port
asm in al,dx
asm xor ah,ah
return _AX;
}

unsigned short inpw(unsigned short port)
{
asm mov dx,port
asm in ax,dx
return _AX;
}

short int inp(unsigned short port)
{
asm mov dx,port
asm in al,dx
asm xor ah,ah
return _AX;
}

void outport(unsigned short port, unsigned short val)
{
asm mov dx, port
asm mov ax, val
asm out dx, ax
}

void outportb(unsigned short port, unsigned char val)
{
asm mov dx, port
asm mov al, val
asm out dx, al
}

unsigned short outpw(unsigned short port, unsigned short val)
{
asm mov dx, port
asm mov ax, val
asm out dx, ax
return (_AX);
}

short int outp(unsigned short port, unsigned char val)
{
asm mov dx, port
asm mov al, val
asm out dx, al
asm xor ah, ah
return (_AX);
}

/********* ports.h ******************/
#ifndef _PORTS_
#define _PORTS_

#pragma message Warning: port I/O not allowed in Windows NT
#pragma link "ports.obj"
//#pragma link "outport.obj"

#ifdef __cplusplus
extern "C" {
#endif

unsigned char inportb( unsigned short __portid );
unsigned short inport ( unsigned short __portid );
short int inp( unsigned short __portid );
unsigned short inpw( unsigned short __portid );
void outportb( unsigned short __portid, unsigned char __value );
void outport ( unsigned short __portid, unsigned short __value );
short int outp( unsigned short __portid, unsigned char __value );
unsigned short outpw( unsigned short __portid, unsigned short __value );

#ifdef __cplusplus
}
#endif

#endif


Volver arriba
Mensaje    Asunto: Responder citando

Hola, las funciones que estan implementadaes en la libreria ports.h funcionan en c++builder pero solo en windows 98 ya que la familia de windows NT (NT4/2000/XP) tienen protegidas ciertas direcciones de memoria y no puedes acceder con estas funciones al puerto paralelo. Para poder acceder desde estos windows tienes que utilizar alguna libreria que te permita escribir directamente en el puerto. la puedes encontrar de forma gratuita en la siguiente direccion.

http://www.beyondlogic.org/porttalk/porttalk.htm[/img]
Volver arriba
Mensaje    Asunto: Responder citando

Esta es la direccion...

http://www.beyondlogic.org/porttalk/porttalk.htm
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.