用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啊,还是我的程序本身有问题,
还望各位大哥帮下忙.小弟很急
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啊,还是我的程序本身有问题,
还望各位大哥帮下忙.小弟很急
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;怎么编译不过啊?
我这九个字节要全部发出去啊?
怎么回事啊?
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;
1.字符串数组.
2.字节数据.
你为什么不用字节数组呢.var
vBuffer:Variant;
ovBuffer:OleVariant;vBuffer := buff
ovBuffer := vBuffer
mscomm.output = ovBuffer*注意设置发送缓冲区与buff的大小
mscomm:微软的东西,ActivX控件,使用简单,在VB中带的,性能一般,由于是ActivX控件,打包时需要注册好多信息,不推荐使用。
spcomm:比较好的vcl,算是比较专业的,解剖了一下,功能比较完善。
TurboPower:公认的专业通讯控件。可以到其站点下载,开放源码了。
我在制作串口通讯软件时三种都用过,最终全部使用TurboPower!所以也推荐大家使用它。
写了个例子,基本的串口通讯都可以实现,可提供参考。
下载地址:http://www.kaer.cn/default.aspx(网站安全性较差,经常当机,如果急用,mail我)
多多指正:[email protected]