Bootstrap

Delphi 串口通信(Spcomm组件)的应用

要引用单元文件SPComm;

主要就是设置这两个属性;

如何使用呢?

第一步

var

  str: PAnsiChar;

begin

  cmconnect.CommName := 串口名称;//如COM1,COM2等
  try
    cmconnect.StartComm;//开始启动
  except
    Exit;
  end;

 var cmd :='';//指令

  str := PAnsiChar(AnsiString(cmd));//注意类型要进行转换

  if cmconnect.WriteCommData(str, Length(str)) then
  begin

   //连接成功

  end
  else
  begin
    //连接失败
  end;

end;

然后我们通过绑定它的OnReceiveData事件

在该事件里接收返回的数据。

那么问题来了,串口的名字如何自动获取呢

像这种类似USB的串口,它可以在注册表种找到;

引用

System.Win.Registry

var
  Reg: TRegistry;

begin

try

  Reg := TRegistry.Create;

    sts1 := TStringList.Create;
      sts2 := TStringList.Create;
      Reg.RootKey := HKEY_LOCAL_MACHINE;//设置对应上图位置
      var RegPath := 'hardware\devicemap\SerialComm';
      if Reg.OpenKey(RegPath, False) then
      begin
        Reg.GetValueNames(sts1);
        for var i := 0 to sts1.Count - 1 do
        begin
          sts2.Add(Reg.ReadString(sts1.Strings[i]));//获取串口名称
        end;
      end;

finally

sts1.free;

sts2.free;

Reg.free;

end;

end;

;