|
procedure
SendATCommand(const APort,
ACommand: string); var hComm: THandle; dcb: TDCB; bytesWritten: DWORD; cmd: AnsiString; begin // Port öffnen hComm := CreateFile(PChar('\\.\' + APort), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); if hComm = INVALID_HANDLE_VALUE then showmessage('COM-Port konnte nicht geöffnet werden'); FillChar(dcb, SizeOf(dcb), 0); dcb.DCBlength := SizeOf(dcb); GetCommState(hComm, dcb); // Serielle Parameter setzen dcb.BaudRate := CBR_9600; dcb.ByteSize := 8; dcb.Parity := NOPARITY; dcb.StopBits := ONESTOPBIT; SetCommState(hComm, dcb); cmd := AnsiString(ACommand + #13#10); WriteFile(hComm, cmd[1], Length(cmd), bytesWritten, nil); CloseHandle(hComm); // Port wieder schließen end; |