Delphi 7 SPCOMM 同一个点击事件中不能发送数据
本帖最后由 jingwaner 于 2013-8-31 12:01 编辑最近写个软件,打算省去 打开关闭 串口这样的按钮。
想直接 打开-发送-关闭。
在同一个按钮事件中,发现没有数据发送出来。。代码如下:
procedure TForm1.btnIPSetClick(Sender: TObject);
begin
cm1.CommName:=cbbCOM.Text;
cm1.BaudRate:=StrToInt(cbbBaudrate.Text);
cm1.StartComm;
cm1.WriteCommData(chr($31)+chr($32)+chr($33)+chr($0A),4);
cm1.StopComm;
end;
求指点,谢谢! 技术贴 咋没人关注? 多线程的吧,可能串口还没有正式开?
或是还没有发完就被STOP了。
我一般用Comm1.WriteCommByte($31);这样的方式,一个个传。 StartComm之后加100ms的延时试试 哈,你数据还没发完就被你关闭了,按钮在打开串口成功后,发送数据,然后开启一个定时器,定时100ms,定时到则关闭串口同时关闭定时器。 cm1.StartComm;
Sleep(300);
cm1.WriteCommData(chr($31)+chr($32)+chr($33)+chr($0A),4);
Sleep(300);
cm1.StopComm; SkyGz 发表于 2013-8-31 21:20 static/image/common/back.gif
cm1.StartComm;
Sleep(300);
cm1.WriteCommData(chr($31)+chr($32)+chr($33)+chr($0A),4);
谢谢楼上的。
我刚回来,本来也想回复的,用了延迟现在可以使用了,目前如下:
Sleep(4);
cm1.WriteCommData(chr($31)+chr($32)+chr($33)+chr($0A),4);
Sleep(4);
页:
[1]