我按照下面这段代码接收串口数据,但不知道为什么不能解发串口的receive事件?
var
canSend : boolean;procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
receiveStr : string;
begin
SetLength (receiveStr,bufferLength);
Move (buffer^,PChar (receiveStr)^,bufferLength);
if Pos ('!',receiveSt) > 0 then
canSend := true;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
sendSend := true;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if canSend then
begin
comm1.WriteCommData(...);
canSend := false;
end;
end;
var
canSend : boolean;procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
receiveStr : string;
begin
SetLength (receiveStr,bufferLength);
Move (buffer^,PChar (receiveStr)^,bufferLength);
if Pos ('!',receiveSt) > 0 then
canSend := true;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
sendSend := true;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if canSend then
begin
comm1.WriteCommData(...);
canSend := false;
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货