SOS----在线急等,关于串口接收数据时,中间有空格的问题!

vkeyj 2007-02-07 12:20:21
如果说我通过COM发送两个汉字:我们
我们=CED2C3C7
我用串口调试助手测试时发现,如果用十六进制显示的话,那么
CED2C3C7 ==23 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 (假如说等这么多),这样一来,那第一个C就等于23 22 而我要的是c=2322,中间没有空格
一开始,我以为是:result:=result+inttohex(ord(str[i]),2);里,那个2的问题,但我用showmessage看一下,却不是这个原因,请问我哪个高手知道这是什么原因?谢谢!
...全文
698 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
vkeyj 2007-02-07
  • 打赏
  • 举报
回复
好的,谢谢------lihuasoft(学习低调做人)
lihuasoft 2007-02-07
  • 打赏
  • 举报
回复
把基本的概念搞清楚,有两个好处:一、使用一些现成的函数,得心应手;二、提问题时可以表述清楚。
vkeyj 2007-02-07
  • 打赏
  • 举报
回复

SendStr := Chr($10) + Chr($53) + Chr($54) + Chr($00) + Chr($00) + SendStr + Chr($4E) + Chr($41) + Chr($0D) + Chr($0A);
Tem := Length(SendStr);
Comm1.WriteCommData(Pchar(SendStr),Tem);

那个'我们'就相当于中间的那个Sendstr

好的,谢谢,我试试!
lihuasoft 2007-02-07
  • 打赏
  • 举报
回复
呵~~ 你把下面的代码复制过去,测试一下:

var
S : String;
P : ^Byte;
I : integer;
begin
S := '我们';
P := @S[1];
for I := 0 to Length(S)-1 do
begin
memo1.Text := memo1.Text + format('[ %.2x ] ',[P^]);
inc(P);
end;
end;

结果是:[ CE ] [ D2 ] [ C3 ] [ C7 ] 注意,每个[]里面就是一个字节!那就是十六进制的形式!
vkeyj 2007-02-07
  • 打赏
  • 举报
回复
CED2C3C7是'我们'的十六进制,23 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23好比是这两个汉字十六进制中每个字节
lihuasoft 2007-02-07
  • 打赏
  • 举报
回复
我看你也不用伤心。那一堆2322是十六进的,那么CED2C3C7 ==23 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 这里面的CED2C3C7 又是什么?!
vkeyj 2007-02-07
  • 打赏
  • 举报
回复
ahjoe(强哥)
你有QQ吗?
我在在富翁,和CSDN上发帖,只有你一个人回答,太让我伤心!

那一堆23代表如果是汉字'我们'的十六进制

ahjoe 2007-02-07
  • 打赏
  • 举报
回复
不知道你那一堆23代表什么。
对你的描述也不明白。
vkeyj 2007-02-07
  • 打赏
  • 举报
回复
有高手说是设备问题,
vkeyj 2007-02-07
  • 打赏
  • 举报
回复
好的,多谢!
lihuasoft 2007-02-07
  • 打赏
  • 举报
回复
怎么好意思拒绝呢.....已给发站内消息告诉你了。
vkeyj 2007-02-07
  • 打赏
  • 举报
回复
谢谢
提个过分的要求,要以留QQ号吗?可以拒绝!
lihuasoft 2007-02-07
  • 打赏
  • 举报
回复
离去上班还有一点时间,我结合这个概念给你说一下:

S := '我们'; '我们'这个字串,共占用6个字节。其中,S[0]是字串长度,不可见;然后,'我们'占四个字节,然后,后面还有一个字节是NULL,就是字串结束符。

所以,我把P := @S[1];

每个字节是8位,如上面的[CE]这个字节,就是[11001110]共8个二进位
~~~~^^^^
C E

我的例子里,用format函数输出十六进制形式的字串,其中插了空格,如果不想要空格和[],可以删去。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧