delphi與51單片機(jī)串行通信
//delphi源碼
本文引用地址:http://butianyuan.cn/article/201611/319611.htmunit Unit1;
interface
uses
type
var
implementation
{$R *.dfm}
procedure TFCOMM.FormShow(Sender: TObject);
begin
comm1.startcomm;
end;
procedure TFCOMM.FormClose(Sender: TObject; var Action: TCloseAction);
begin
comm1.stopcomm;
end;
//自定義發(fā)送數(shù)據(jù)過(guò)程
procedure senddata;
var
i:integer;
commflg:boolean;
begin
viewstring:= ;
commflg:=true;
for i:=1 to 9 do
begin
sleep(2);
viewstring:=viewstring+inttohex(sbuf[i],1)+ ;
end;
viewstring:=發(fā)送+viewstring;
fcomm.memo1.lines.add(viewstring);
fcomm.memo1.lines.add( );
if
end;
procedure TFCOMM.Button1Click(Sender: TObject);
begin
sbuf[1]:=byte($95); //幀頭
sbuf[2]:=byte($10); //命令號(hào)
sbuf[3]:=byte($20);
sbuf[4]:=byte($25);
sbuf[5]:=byte($95); //幀頭
sbuf[6]:=byte($10); //命令號(hào)
sbuf[7]:=byte($20);
sbuf[8]:=byte($25);
sbuf[9]:=byte($25);
senddata;
end;
procedure TFCOMM.Button2Click(Sender: TObject);
begin
memo1.clear;
end;
procedure TFCOMM.Button3Click(Sender: TObject);
begin
close;
end;
procedure TFCOMM.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
var
i:integer;
begin
viewstring:=;
move(buffer^,rbuf,bufferlength);
for i:=1 to bufferlength do
viewstring:=viewstring+ inttohex(rbuf[i],2)+ ;
viewstring:=接收+ viewstring;
memo1.lines.add(viewstring);
memo1.lines.add();
end;
end.
//單片機(jī)源碼
#include
void send(b)
{
}
評(píng)論