Para abrir y cerrar un puerto serie (COM) en Delphi, puedes utilizar la unidad TComPort o el componente TSerialPort. A continuación te muestro cómo hacerlo utilizando la unidad TComPort (que se puede encontrar en bibliotecas como ComPort Library o utilizando Synapse):
1. Usando TComPort
Primero, necesitas instalar la biblioteca ComPort Library si no la tienes. Puedes encontrarla aquí:
https://github.com/Wosi/ComPort.
Código de ejemplo:
Abrir el puerto COM:
Código Delphi
[-]
procedure TForm1.AbrirPuerto;
begin
ComPort1.Port := 'COM1'; ComPort1.BaudRate := br9600; ComPort1.Parity := pNone; ComPort1.DataBits := dbEight; ComPort1.StopBits := sbOneStopBit; ComPort1.Open; end;
Cerrar el puerto COM:
Código Delphi
[-]
procedure TForm1.CerrarPuerto;
begin
if ComPort1.Connected then
begin
ComPort1.Close; end;
end;
Otra opcion seria:
2. Usando TSerialPort (Synaser - Synapse)
Otra opción es utilizar Synapse (synaser.pas) que tiene soporte para puerto serie.
Abrir el puerto COM:
Código Delphi
[-]
uses
synaser;
var
Serial: TBlockSerial;
procedure TForm1.AbrirPuerto;
begin
Serial := TBlockSerial.Create;
Serial.Connect('COM1'); Serial.Config(9600, 8, 'N', 1, False, False); end;
Cerrar el Puerto COM:
Código Delphi
[-]
procedure TForm1.CerrarPuerto;
begin
if Serial <> nil then
begin
Serial.CloseSocket; Serial.Free; end;
end;
Detalles:
Port: Selecciona el puerto COM a utilizar.
BaudRate: Velocidad del puerto (como 9600, 115200, etc.).
Parity: Paridad (sin paridad, par, impar).
DataBits: Número de bits de datos (normalmente 8).
StopBits: Número de bits de parada (1 o 2).
Instalación de componentes:
Si utilizas ComPort Library, puedes agregar ComPort a tu formulario desde el componente.
Si utilizas Synapse, solo necesitas incluir synaser.pas en tu proyecto.