用串口通信,为什么收到的数据 和我 发送的不一样?(10分)

  • 主题发起人 主题发起人 lcl_003
  • 开始时间 开始时间
L

lcl_003

Unregistered / Unconfirmed
GUEST, unregistred user!
接收到的数据好想是16进制的,看不太懂。
接收的代码如下:

procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var

i:integer;
viewstring:string;
rbuf:array[0..16] of byte;

begin

viewstring:='' ;

move(buffer^,pchar((@rbuf)^),bufferlength);

for i:=1 to bufferlength do

viewstring:=viewstring+ inttohex(rbuf,2)+'' ;

viewstring:='接收'+ viewstring;

memo1.lines.add(viewstring);

memo1.lines.add('' );
end;
 
按你的程序应该是十六进制的,你发送的程序是如何?
如果可以联系把你的电话发送到zhigangguan@163.com
 
接收数组定义为BYTE型
 
哦,可以了,能不能说说串口通信的通信格式?是16进制的吗?
 
在程序中将发送数组定为BYTE型,计算机是以2进制发送的
 
多人接受答案了。
 
后退
顶部