我用SPCOMM作为串口控件来接受数据,Comm1ReceiveData

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:44:51
程序如下:
procedure TForm1.Comm2lReceiveData(Sender:Tobject;
Buffer:Pointer; bufferLength:Word);
var
Tempstr:string;
begin
sleep(100);//等待100ms,保证接收到所有数据
SetLength(Tempstr, BufferLength);
move(Buffer^,pchar(@tempstr)^,bufferlength);
//将接收缓存区中的数据转移到数组中
memo1.Lines.Add('已接收'+ inttostr(BufferLength)+'字节数据');
memo1.Lines.Add(Tempstr);//添加接收到的内容
memo1.Invalidate;

end;
可是就是接收不到数据,那位大侠能帮忙指点一下

试试这个吧!
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
ReceivedString:String;
begin
SetLength(ReceivedString,BufferLength);
Move(Buffer^,PChar(ReceivedString)^,BufferLength);
Memo1.Lines.Add (ReceivedString);
Memo1.Lines.Add('');
end;