串口接收一帧数据,由9个双字节十六进制数组成,如:FE 22 02 11 00 00 00 00 FF
其中FE,22,02,FF为起止字符和标志字符,其余为数据;
现在的问题是:第四项"11"始终接收不到,只能收到8个字符,即"FE 22 02 00 00 00 00 FF".当"11"为"13"时现象一样;然而"11'为其他数时又能收到正确的9个字符;
不知道我说清楚没有?
其中FE,22,02,FF为起止字符和标志字符,其余为数据;
现在的问题是:第四项"11"始终接收不到,只能收到8个字符,即"FE 22 02 00 00 00 00 FF".当"11"为"13"时现象一样;然而"11'为其他数时又能收到正确的9个字符;
不知道我说清楚没有?
解决方案 »
- 串口接受数据,如何在界面上显示出来??????
- DELPHI如何设置自定义控件的属性?双击提示错误“此组件没有支持属性”~
- 请问如何设置delphi项目默认存放文件夹路径
- 请教Com不同实例方法调用的问题
- 改文件名应该很简单,可我就试不出来
- 如何在treeview动态增加删除支点
- 一个数据库的问题!!!!
- wwtable4: dataset not in edit or insert mode ???我就弄不懂为什么TABLE也会提示这个错???
- 我用"Microsoft Jet4.0 OLE DB Provider"为什么联不上Excel文件呢,说格式错误!
- 如何确定一个字符串中某一个字符出现的次数?
- [求助]打印四联发票的针式打印机和喷墨打印机在编程控制上有什么不同
- 我定义了一个类,在其中的一个方法A中,想得到另一个方法B的地址,请问如何实现?谢谢!!
var
CodeSize: Integer;
s: String;
i: Integer;
myr: array of byte;
CodeSize:=MSComm1.InBufferCount;
if CodeSize>0 then
begin
myr:=VarArrayCreate([0,CodeSize-1],varByte);
myr:=MSComm1.Input;
for i:=0 to CodeSize-1 do
S := S+ IntToHex(myr[i],2);
Result := s;
end;
Comm1.Inx_XonXoffFlow:=False;
Comm1.Outx_XonXoffFlow:=False;
这样就OK了!
Comm1.Outx_XonXoffFlow:=False;$11,$13都有这种情况