|
这是自发自收的例子,请帮忙看看,哪里出错了,我用的是delphi7编写的。。。
var
viewstring:string;
sbuf,rbuf:array[1..6]of byte;
procedure TForm1.FormCreate(Sender: TObject);
begin
comm1.StartComm;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
comm1.StopComm;
end;
procedure senddata;
var
i:integer;
commflg:boolean;
begin
viewstring:=' ';
commflg:=true;
for i:=1 to 6 do
begin
if not Form1.Comm1.WriteCommData(@sbuf,1) then
begin
commflg:=false;
break;
end;
sleep(2);
viewstring:=viewstring+inttohex(sbuf,2)+' ';
end;
viewstring:='发送'+viewstring;
Form1.Memo1.Lines.Add(viewstring);
Form1.Memo1.Lines.Add(' ');
if not commflg then
messagedlg('发送失败!',mterror,[mbyes],0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
sbuf[1]:=byte($f0);
sbuf[2]:=byte($01);
sbuf[3]:=byte($ff);
sbuf[4]:=byte($ff);
sbuf[5]:=byte($01);
sbuf[6]:=byte($f0);
senddata;
end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: PAnsiChar; //注意这是PAnsiChar,我看到的好像都是pointer
BufferLength: Word);
var
i:integer;
begin
viewstring:=' ';
move(buffer^,pchar(@rbuf)^,bufferlength);
for i:=1 to bufferlength do
viewstring:=viewstring+inttohex(rbuf,2)+' ';
viewstring:='接收'+viewstring;
Form1.memo2.Lines.Add(viewstring);
Form1.memo2.Lines.Add(' ');
end; |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|