请问串口接收数据? (20分)

  • 主题发起人 主题发起人 dreamya
  • 开始时间 开始时间
D

dreamya

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在点击键时才开始串口打开怎么办?
我这样的程序不行,始终报错说串口已经打开:
procedure TForm1.FormCreate(Sender: TObject);
begin
MScomm1.inbuffercount:=0;
MScomm1.inputlen:=0;
mscomm1.portopen:=false;
end;

procedure TForm1.Button3Click(Sender: TObject);
var buf:variant;
rbuf:olevariant;
begin
buf:=vararraycreate([1,6],varbyte);
buf[1]:=byte($f0);
buf[2]:=byte($01);
buf[3]:=byte($ff);
buf[4]:=byte($ff);
buf[5]:=byte($01);
buf[6]:=byte($f0);
rbuf:=buf;
MScomm1.portopen:=true;
MScomm1.output:=rbuf;
end;
 
在前面加MScomm1.portopen:=false;
 
加了,同样是报错
 
你的com1是不是已经被别的事先占用了
 
if MScomm1.portopen:=true then
MScomm1.portopen:=false;
MScomm1.portopen:=true;
MScomm1.output:=rbuf;
 
你的程序应当这样写
procedure TForm1.FormCreate(Sender: TObject);
begin
mscomm1.portopen:=false;
MScomm1.inbuffercount:=0;
MScomm1.inputlen:=0;
end;
先打开串口,再对INPUTLEN操作
 
后退
顶部