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