L
liuguilg
Unregistered / Unconfirmed
GUEST, unregistred user!
这个是我的一个程序,自己初学,不知道这样是否可以;希望各位老师指点
单片机需要连续传入2个'S',才允发送数据;每次传送16个字符
采集数据按钮
procedure TForm1.开始Button1Click(Sender: TObject);
begin
MSComm1.CommPort:=1;
If MSComm1.PortOpen=false then
MSComm1.PortOpen:=true;
MSComm1.RThreshold:=16;
//每次传送16个字符
mscomm1.Settings:='9600,n,8,1';
end;
procedure TForm1.MSComm1Comm(Sender: TObject);
var mbyte:byte;
begin
单片机需要连续传入2个'S',才允发送数据;
这里是直接写'S',可以不;
mbyte := $53;
//这个是'S' 的16进制
mscomm1.output:= mbyte;
mbyte := $53;
mscomm1.output:= mbyte;
//这里我就是想单片机就发数据上来,是否是这样?
if mscomm1.InBufferCount<16 then
//每次传送16个字符,这样写可以不;传上的数
据是16进制还是2进制,还是直接就是字符串?
exit;
mscomm1.Settings:='9600,n,8,1';
mscomm1.RThreshold:=16;
str := mscomm1.Input;
Memo1.Lines.Add(str);
end;
单片机需要连续传入2个'S',才允发送数据;每次传送16个字符
采集数据按钮
procedure TForm1.开始Button1Click(Sender: TObject);
begin
MSComm1.CommPort:=1;
If MSComm1.PortOpen=false then
MSComm1.PortOpen:=true;
MSComm1.RThreshold:=16;
//每次传送16个字符
mscomm1.Settings:='9600,n,8,1';
end;
procedure TForm1.MSComm1Comm(Sender: TObject);
var mbyte:byte;
begin
单片机需要连续传入2个'S',才允发送数据;
这里是直接写'S',可以不;
mbyte := $53;
//这个是'S' 的16进制
mscomm1.output:= mbyte;
mbyte := $53;
mscomm1.output:= mbyte;
//这里我就是想单片机就发数据上来,是否是这样?
if mscomm1.InBufferCount<16 then
//每次传送16个字符,这样写可以不;传上的数
据是16进制还是2进制,还是直接就是字符串?
exit;
mscomm1.Settings:='9600,n,8,1';
mscomm1.RThreshold:=16;
str := mscomm1.Input;
Memo1.Lines.Add(str);
end;