大家好:
我用Spcomm控件编写了一个串口通讯程序,作用是:把从串口接受的数据用
“十六进制”字符来显示,我在Spcomm的数据接受事件里写了如下的代码:
(用Delphi写的).
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:integer;
wchb:string;
tmparray:array[0..5000] of byte;
begin
wchb:='';
move(buffer^,pchar((@tmparray)^),bufferlength+2);
for i:=0 to bufferlength-1 do
begin
wchb:=wchb+inttohex(tmparray[i],2);
end;
memo1.Lines.Add(wchb);
end;
我的问题如下: 我通过COMM1串口接受别人给我发的数据,别人给我发的数据是这样子的:
列如:“00AA0EAA00AA11AA5EAA73AAB4”,“00AA0EAA00AA11AA60AAE1AAF6”,
“00AA0EAA00AA11AA8AAA8FAA56”,“00AA0EAA00AA11AA68AA80AAA4”
每次别人给我发其中上面其中的一组数据,我用上面编写的代码进行“十六进制”
字符接受,例如接受别人发的“00AA0EAA00AA11AA8AAA8FAA56”时,只能显示
“00AA0EAA00AAAA8AAA8FAA56” 其中的两个连续的“11”不能显示出来,即接受不
到完整的“00AA0EAA00AA11AA8AAA8FAA56”只能接受到“00AA0EAA00AAAA8AAA8FAA56”.还有出错提示“访问什么地址出现异常”之类的提示。请问大家:为什么两个连续的“11”不能正常的接受呢?我的代码有错吗?
拜托大家给俺一点意见好吗?
我用Spcomm控件编写了一个串口通讯程序,作用是:把从串口接受的数据用
“十六进制”字符来显示,我在Spcomm的数据接受事件里写了如下的代码:
(用Delphi写的).
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:integer;
wchb:string;
tmparray:array[0..5000] of byte;
begin
wchb:='';
move(buffer^,pchar((@tmparray)^),bufferlength+2);
for i:=0 to bufferlength-1 do
begin
wchb:=wchb+inttohex(tmparray[i],2);
end;
memo1.Lines.Add(wchb);
end;
我的问题如下: 我通过COMM1串口接受别人给我发的数据,别人给我发的数据是这样子的:
列如:“00AA0EAA00AA11AA5EAA73AAB4”,“00AA0EAA00AA11AA60AAE1AAF6”,
“00AA0EAA00AA11AA8AAA8FAA56”,“00AA0EAA00AA11AA68AA80AAA4”
每次别人给我发其中上面其中的一组数据,我用上面编写的代码进行“十六进制”
字符接受,例如接受别人发的“00AA0EAA00AA11AA8AAA8FAA56”时,只能显示
“00AA0EAA00AAAA8AAA8FAA56” 其中的两个连续的“11”不能显示出来,即接受不
到完整的“00AA0EAA00AA11AA8AAA8FAA56”只能接受到“00AA0EAA00AAAA8AAA8FAA56”.还有出错提示“访问什么地址出现异常”之类的提示。请问大家:为什么两个连续的“11”不能正常的接受呢?我的代码有错吗?
拜托大家给俺一点意见好吗?
解决方案 »
- 如何将基于 c/s结构的程序变为b/s 结构的程序?
- 如何从数据库内查找所有人名然后把他们作为节点添加到TreeView
- [专题开发]多媒休、游戏、网络、图形等版块版主诚招!
- DBChart如何动态定指Labels,X,Y的来源
- active form在web上发布的问题,请教各位,急!!!
- 关于timer控件与硬件配合的一个问题!!!!
- 怎样改变stinggrid单元格的输入背景颜色?
- 如何用程序删除memo中的内容?
- 高分:我想编写一个系统驱动器保护程序,当指定驱动器被读取或写入时,弹出一个密码框要求输入密码,怎么才能实现这个功能。
- 各位大仙 : what is jpeg error #41 ? 及image使用MEMORYSTREAM 显示JPEG 问题 .
- report builder中交叉报表的合计项"grand totals"怎样改为中文"合计"?
- 简单问题:如何实现ListView插入记录时每次都是都是插在最前面?
Comm1.Outx_XonXoffFlow:=false;就搞定