procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
begin
   //ComPort1.Close;
   //ComPort1.Open;
   ComPort1.ReadStr(longstr,count);
   StatusBar1.Panels.Items[2].Text:=':00-'+longstr+'-00';
end;COmPort 控件里面这个方法就是开始实时读取Comport串口的数据吧?为什么longstr一直为空的??明明已经发送数据到了这个串口,但是就是收不到数据。这是什么情况?

解决方案 »

  1.   

    可以了,很2,我都不知道怎么回事,先前就是不行,后来一样的代码。就可以了。线也没动过。
     我是用的串口调试助手。
    现在又碰到一个问题,麻烦各位大哥帮下忙,就是我用串口调试助手发送:010310000022C113这一串数据过来,用16进制发送,为什么这边读到的不是十六进制之后的数据?而是什么#$3D#$$%'总之就是一串这样的玩意。压根没办法解出来。这是为什么?
      刚学Delphi没多久,对进制转换还真不熟悉。我这边是用的ComPort1.ReadStr(longstr,count);读的,longstr是一个string类型。
      就算16进制过来,也会直接存到这个里面把?
        或者有什么办法直接接受到那个16进制的数据吗?