Como puedo programar el Puerto LPT en delphi

Necesito un grande favor quiero que me ayuden como aprender o un código donde me pueda orientar para programar el puerto Lpt, para poder controlar... Un circuito eléctrico, ya sabiendo como puedo enviar datos de (1,0) en los pines.. O con que instrucción.. De antemano les doy las Gracias por su compresión y ayuda... Ya en dado caso que me puedan ayudar en otro lenguaje se lo agradecería... Ya que sea.. En el lenguaje c++ builder...

1 respuesta

Respuesta
1
Aquí tienes una Unit que te puede servir:
unit Puerto95;
interface
type
TPort = class
procedure AsignaPuerto(Index: Word; Value: Byte);
function LeePuerto(Index: Word): Byte;
property Port[Index: Word]: Byte read Leepuerto write AsignaPuerto; default;
end;
const
LPT1 = 888; // Puerto de impresora, en hexadecimal $378
implementation
procedure TPort.AsignaPuerto(Index: Word; Value: Byte); assembler; register;
asm
mov al,cl
out dx,al
end;
function TPort.LeePuerto(Index: Word): Byte; assembler; register;
asm
in al,dx
end;
end.
Pon esta unidad en la claúsula uses desde donde vayas a escribir en LPT1,
Ejemplo de utilización:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
puerto:TPort;
begin
label1.caption:= 'Estado de LPT1 antes de escribir:
'+inttostr(puerto[LPT1]);
puerto[LPT1]:= 45; // escribimos un valor cualquiera en el puerto
label2.caption:= 'Estado de LPT1 después de escribir:
'+inttostr(puerto[LPT1])
end;
Ten en cuenta que el valor que saques por LPT1 se mantendrá hasta que se
vuelva a escribir en el puerto.
Esto sólo funciona en W95/W98 ya que NT no permite acceder a los puertos
directamente.
O sino:
Si no es bajo NT, puedes usar estas dos:
procedure EscribePuerto(Direccion:word;valor:byte);
Begin
asm
mov dx, Direccion
mov AL, valor
out DX,AL
end;
end;
function LeePuerto(Direccion:Word):Byte;
begin
asm
mov dx,Direccion
in al,dx
mov Result,al
end;
end;
De parte de:
Radical
www.q3.nu/trucomania
Quiero saber o más bien conocer... como seria el código si fuera a programar el puerto LPT en windows XP... ah y de antemano te doy las gracias por que me sirvió de mucho el código que me enviaste ya que nada más se puede trabajar bajo Windows 98 y creo que en ME... bueno solo quisiera saber si es posible programar el puerto LPT en windows Xp... es que he intentado como loco y no he hallado resultados... y gracias por tu ayuda y compresión... Te lo agradezco mucho..!
Gracias por Ayudarme y de verdad gracias por darme esa parte del código... me sirvió de mucho ya que me tendré que programar bajo windows 98... como en la escuela... todas las PC's tienen Windows XP... tendré que decir que mi software solo soporta... Windows 98 y ME... Bueno pero muchas Gracias...

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas