La Web del Programador: Comunidad de Programadores
 
    Pregunta:  398 - COMO ACCEDER A PUERTOS CON PASCAL
Autor:  Jose Luis G.
Hola... Agradeceria me ayuden con informacion sobre como acceder a los puerto serial y paralelo de la PC con  lenguaje Pascal...
Gracias de antemano...

  Respuesta:  edwin payan
al puerto puedes acceder con lenguaje ensamblador incrustado en el codigo te mando un procedimiento para que lo reutilices

{procedimiento que ilum¡na el Led en el puerto paralelo}
procedure interrupcion(valor:byte);
Begin
{$ASMMODE intel} {se establece parametros para procesador intel}
ASM
Mov Al,valor {valor que se le esta proporcionand al puerto 0..255}
Mov Dx,03BCh {numero del puerto 378H}
out Dx,Al {envia la interrupcion al puerto LPT}
End;
End;

www.pillin-slk.blogspot.com

  Respuesta:  Gabriel Sánchez
Yo uso esto:

procedure serial;
begin
regs.DX:=0; {COM1 = 0, COM2 = 1}
regs.Ah:=0; {Inicializa puerto serie}
regs.AL:=227; {9600 baudios,sin paridad,8 bits de datos,1 bit de parada}
regs.flags:=0;
Intr($14,regs);{Interupcion de puerto serie}
end;

lo cual me permite habilitar el puerto, no se como modificar la velocidad, paridad, etc. pero si se que esta en la linea "regs.AL=227", donde el valor 227 es la clave.
hay que abrir el serial (COM1) como si fuera un archivo, y listo.

  Respuesta:  CRISTOBAL GUERRERO
Hola AMigos yo tambien deseo enviar informacion por el serial, si uso esta forma :

procedure AccesaLPT;
Var
f ; File of String; {puede ser cualquier otro tipo p.e, Text}
Begin
Assign(f,´COM1´); {puede se COM1, COM2}
Rewrite(f);
write(f,´Esta Linea se envia al puerto de impresora´);
{si quieres leer usa un read(f,var);}
close(f);
end;

Me sale un error que dice "Error en el hardware, no se puede abrir el puerto COM", pero si he activado la opcion de recibir datos que es mas complicada.
Agradezco a quien me ayude.

  Respuesta:  Maverick 01
Para ello, la forma más facil es con el arreglode puertos de pascal PORT[puerto] donde puerto es la dirección del puerto que deseas accesar, para este caso de los seriales sus direcciones son $3F8 (COM1) y $2F8 (COM2) dejame averiguar cuál es la del LPT (paralelo) y te aviso.
Ahora mediante instrucciones de ensamblador (ASM) puedad accesar al COM mediante la interrupción $14 (14h); en el libro de Peter Abel de Ensamblador puedes consultar con más detalle esto.

  Respuesta:  Heriberto Ledesma Sánchez
ademas de las formas que ya te mensionaron puedes accesar a los puertos tratandolos como archivos.

por ejemplo

procedure AccesaLPT;
Var
f ; File of String; {puede ser cualquier otro tipo p.e, Text}
Begin
Assign(f,´LPT1´); {puede se COM1, COM2}
Rewrite(f);
write(f,´Esta Linea se envia al puerto de impresora´);
{si quieres leer usa un read(f,var);}
close(f);
end;

  Respuesta:  Manuel Domínguez
La mejor manera de acceder a los puertos en Tpascal, es usando el ensamblador. No se ahora mismo cuales son la direcciones pero con la directiva asm y cualquier libro de ensamblador tendrás tú solución.

  Respuesta:  Felipe Rodríguez Grimaldo
Mira, para accesar a los diferentes puertos que existen en la Pc, desde turbo pascal, lo único que tienes que hacer es incluir la instrucción
PORT[ puerto ] := Valor ;
De esta manera, activaras en el , el valor determinado con , por ejemplo, para activar un puerto de la VGA, 3c7 sería así:
PORT[ $3c7 ]:= 10 ;
Se incorpora el valor 10, al puerto 3da de la tarjeta, y para los puertos paralelo y serial es algo similar, lo que necesitas son los valores de los puertos a los que necesitas accesar.

  Respuesta:  Miguel Rojas
YO TUVE MUCHO PROBLEMAS PARA CONSEGUIRLA, TE RECOMIENTO VISITAR http://www.geocities.com/area51/corridor/9499/index.html

o mandame un e-mail y explicame detalladamente que estas haciendo