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

本文介绍了如何通过编程方式设置串口通信,包括设置串口名称(如COM1、COM2),以及利用TRegistry在Windows注册表中自动获取USB串口。重点讨论了如何绑定OnReceiveData事件以接收返回的数据以及遇到的问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要引用单元文件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;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值