Port açma işlemini şu şekilde yapıyorum.
Kod: Tümünü seç
UsbHandle := CreateFile(PWideChar(DevicePath), GENERIC_READ or
GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Kod: Tümünü seç
if not SetupComm(UsbHandle, AdjustmentData.RxBufferSize,
AdjustmentData.TxBufferSize) then
Exit;
DCB.BaudRate := AdjustmentData.Baud;
DCB.Parity := 0;
DCB.ByteSize := 8;
DCB.StopBits := 0;
DCB.EvtChar := #10;
if not SetCommState(UsbHandle, DCB) then
Exit;
if not SetCommMask(UsbHandle, EV_RXCHAR or EV_ERR) then
Exit;
with CommTimeouts do
begin
ReadIntervalTimeout := AdjustmentData.ReadIntervalTimeout;
ReadTotalTimeoutMultiplier := AdjustmentData.ReadTotalTimeoutMultiplier;
ReadTotalTimeoutConstant := AdjustmentData.ReadTotalTimeoutConstant;
WriteTotalTimeoutMultiplier :=
AdjustmentData.WriteTotalTimeoutMultiplier;
WriteTotalTimeoutConstant := AdjustmentData.WriteTotalTimeoutConstant;
end;
if not SetCommTimeouts(UsbHandle, CommTimeouts) then
Exit;
Kod: Tümünü seç
PurgeComm(UsbHandle, PURGE_TXABORT or PURGE_RXABORT or PURGE_TXCLEAR or
PURGE_RXCLEAR);
CloseHandle(UsbHandle);