求救:如何显示单片机送过来的16进制的数据并存储? ( 积分: 50 )

  • 主题发起人 主题发起人 stan2002
  • 开始时间 开始时间
S

stan2002

Unregistered / Unconfirmed
GUEST, unregistred user!
我将com1口的2和3脚短接,然后用spomm发送16进制数f0 ab aa ff f8 5f(char($f0)...),我定义了一个字符串strf0 ab aa ff f8 5f联起来,并将它付给edit1.text,结果出来的是一些奇怪的汉字,请问如何才能正确显示16进制的数呢?
 
我将com1口的2和3脚短接,然后用spomm发送16进制数f0 ab aa ff f8 5f(char($f0)...),我定义了一个字符串strf0 ab aa ff f8 5f联起来,并将它付给edit1.text,结果出来的是一些奇怪的汉字,请问如何才能正确显示16进制的数呢?
 
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:integer;
Str: String;
rbuf:array[1..1000] of byte;
begin
Move(buffer^,pchar(@rbuf)^,BufferLength);
for i := 1 to BufferLength do
begin
if CheckBox1.Checked then
begin
Str := Str + ' ' + InttoHex(rbuf, 2);
end
else
begin
Str := Str + Chr(rbuf);
end;
end;
Memo1.Text := Memo1.Text + Str;
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
772
import
I
后退
顶部