使用spcomm中串口发生的问题
我的通信协议中需要返回4字节的序列号,但是在使用delphi7版本的时候比如本来应该返回11 05 00 02,现在只返回05 00 02。用其他串口助手可以
[解决办法]
既然你已经加分,那就说明你有诚意。我给你贴出我的代码:
function byteTo16Str(const rbuf:array of byte;len:integer):string;
var
i:integer;
begin
result:='';
for i := 0 to len-1 do
result:=result+inttohex(rbuf[i],2);//转换成十六进制数
end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
rbuf:array[1..255] of byte;
RVal:string;
begin
move(buffer^,pchar(@rbuf)^,bufferlength);
RVal:=byteTo16Str(rbuf,bufferlength);
showmessage(rval);
在这里看看RVal的值,会不会丢?
end;
[解决办法]