procedure TForm1.BitBtn4Click(Sender: TObject);//發送命令 与電子稱相聯
var
i:integer;
buf : array[0..5] of char ;
ts:string;
begin
buf[0]:=chr(2);
buf[1]:='A';
buf[2]:='B';
buf[3]:=chr(0);
buf[4]:=chr(3);
buf[5]:=chr(3);
ts:='';
for i:=0 to length(buf)-1 do
ts:=ts+buf[i];
comm1.WriteCommData(pchar(ts),Length(ts));
end;procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);//接收數據
var
s22:string;
begin
memo2.Invalidate ;
setLength(S22,BufferLength);
move(Buffer^,pchar(S22)^,bufferLength);
memo1.Lines.Add(s22);
memo1.Invalidate;
end;
var
i:integer;
buf : array[0..5] of char ;
ts:string;
begin
buf[0]:=chr(2);
buf[1]:='A';
buf[2]:='B';
buf[3]:=chr(0);
buf[4]:=chr(3);
buf[5]:=chr(3);
ts:='';
for i:=0 to length(buf)-1 do
ts:=ts+buf[i];
comm1.WriteCommData(pchar(ts),Length(ts));
end;procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);//接收數據
var
s22:string;
begin
memo2.Invalidate ;
setLength(S22,BufferLength);
move(Buffer^,pchar(S22)^,bufferLength);
memo1.Lines.Add(s22);
memo1.Invalidate;
end;
但在台試机上就能收到正確的數據.
我用的是usB转串口,发现需要验证过的驱动程序才行。