D
dreamya
Unregistered / Unconfirmed
GUEST, unregistred user!
我想通过串口发送一组数组,数组每个元素是放的16进制数,怎么建立数组,怎么传,同样我要收数而不是字符应怎么做?
是不是用vararratcreate建数组,如果是,怎么装入16进制数,谢谢?
procedure
var buf:variant;
subufferlevariant;
begin
buf:=vararraycreate([1,12],varbyte);
buf[1]:=byte($09);
buf[2]:=byte($0c);
buf[3]:=byte($01);
buf[4]:=byte($07);
buf[5]:=byte($06);
buf[6]:=byte($01);
buf[7]:=byte($07);
buf[8]:=byte($02);
buf[9]:=byte($00);
buf[10]:=byte($2d);
buf[11]:=byte($00);
buf[12]:=byte($00);
rbuf:=buf;
MScomm1.portopen:=true;
MScomm1.output:=rbuf;
delay; {等待下位机的信号}
rbuf:=MScomm1.input;
MScomm1.portopen:=false;
sbuffer:=rbuf;
memo1.text:=sbuffer;
end;
这个程序总是调试不正确,应怎么改,谢谢?
是不是用vararratcreate建数组,如果是,怎么装入16进制数,谢谢?
procedure
var buf:variant;
subufferlevariant;
begin
buf:=vararraycreate([1,12],varbyte);
buf[1]:=byte($09);
buf[2]:=byte($0c);
buf[3]:=byte($01);
buf[4]:=byte($07);
buf[5]:=byte($06);
buf[6]:=byte($01);
buf[7]:=byte($07);
buf[8]:=byte($02);
buf[9]:=byte($00);
buf[10]:=byte($2d);
buf[11]:=byte($00);
buf[12]:=byte($00);
rbuf:=buf;
MScomm1.portopen:=true;
MScomm1.output:=rbuf;
delay; {等待下位机的信号}
rbuf:=MScomm1.input;
MScomm1.portopen:=false;
sbuffer:=rbuf;
memo1.text:=sbuffer;
end;
这个程序总是调试不正确,应怎么改,谢谢?