用MSCOMM控件写串口通信,源代码如下
var 
  buff :array [1..9] of byte;
begin
  buff[1]:=$EB;
  buff[2]:=$90;
  buff[3]:=$05;
  buff[4]:=$00
  buff[5]:=$90
  buff[6]:=$00;
  buff[7]:=$00;
  buff[8]:=$00;
  buff[9]:=$31;
  if mscomm1.PortOpen=false then mscomm1.PortOpen:=true;
  mscomm1.output:=chr(buff[1])+chr(buff[2])+chr(buff[3])+chr(buff[4])
     +chr(buff[5])+chr(buff[6])+chr(buff[7])+chr(buff[8])+chr(buff[9]);
end;如果将buff[5]改为81以下就什么事也没有,但是写成81以上就不行,不知为什么?
我看了80的转成十进制刚好为128,是不是不能用CHR啊,还是我的程序本身有问题,
还望各位大哥帮下忙.小弟很急

解决方案 »

  1.   

    是改成这样吗?
    var 
      buff :array [1..9] of byte;
    begin
      buff[1]:=$EB;
      buff[2]:=$90;
      buff[3]:=$05;
      buff[4]:=$00
      buff[5]:=$90
      buff[6]:=$00;
      buff[7]:=$00;
      buff[8]:=$00;
      buff[9]:=$31;
      if mscomm1.PortOpen=false then mscomm1.PortOpen:=true;
      mscomm1.output:=widechar(buff[1])+widechar(buff[2])+widechar(buff[3])
       +widechar(buff[4])+widechar(buff[5])+widechar(buff[6])+widechar(buff[7])
       +widechar(buff[8])+widechar(buff[9]);
    end;怎么编译不过啊?
      

  2.   

    Incompatible types是不是WIDECHAR()不可以加啊,
    我这九个字节要全部发出去啊?
    怎么回事啊?
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      buff :array [1..9] of widechar;
    begin
      buff[1]:=widechar($EB);
      buff[2]:=widechar($90);
      buff[3]:=widechar($05);
      buff[4]:=widechar($00)  ;
      buff[5]:=widechar($90) ;
      buff[6]:=widechar($00);
      buff[7]:=widechar($00);
      buff[8]:=widechar($00);
      buff[9]:=widechar($31);
    mscomm1.output:=buff;end;
      

  4.   

    MSComm.OutPut接收两种类型的参数.
      1.字符串数组.
      2.字节数据.
    你为什么不用字节数组呢.var
     
     vBuffer:Variant;
     ovBuffer:OleVariant;vBuffer := buff
    ovBuffer := vBuffer   
    mscomm.output = ovBuffer*注意设置发送缓冲区与buff的大小
      

  5.   

    关于delphi中串口通讯控件的选择
    mscomm:微软的东西,ActivX控件,使用简单,在VB中带的,性能一般,由于是ActivX控件,打包时需要注册好多信息,不推荐使用。
    spcomm:比较好的vcl,算是比较专业的,解剖了一下,功能比较完善。
    TurboPower:公认的专业通讯控件。可以到其站点下载,开放源码了。
    我在制作串口通讯软件时三种都用过,最终全部使用TurboPower!所以也推荐大家使用它。
    写了个例子,基本的串口通讯都可以实现,可提供参考。
    下载地址:http://www.kaer.cn/default.aspx(网站安全性较差,经常当机,如果急用,mail我)
    多多指正:[email protected]