?? comm.~pas
字號:
unit comm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
SPComm, StdCtrls, ExtCtrls;
type
TFcomm = class(TForm)
Comm1: TComm;
GroupBox1: TGroupBox;
Memo1: TMemo;
Memo2: TMemo;
GroupBox2: TGroupBox;
Button1: TButton;
Btn_send: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Btn_sendClick(Sender: TObject);
procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FCOMM: TFCOMM;
Viewstring:string;
i:integer;
rbuf,sbuf:array[1..6] of byte;
implementation
{$R *.DFM}
//發送過程
procedure senddata;
var
i:integer;
commflg:boolean;
begin
viewstring :='';
commflg:=true;
for i:=1 to 6 do
begin
if not fcomm.comm1.writecommdata(@sbuf[i],1) then
begin
commflg:=false;
break;
end;
sleep(2); {發送時字節間的延時}
viewstring:=viewstring+inttohex(sbuf[i],2)+' ';
end;
viewstring:='發送'+viewstring;
fcomm.memo2.lines.add(viewstring);
fcomm.memo2.lines.add('');
if not commflg then messagedlg('發送失敗!',mterror,[mbyes],0);
end;
///////////////////////////////////////////////////
procedure TFcomm.Button1Click(Sender: TObject);
begin
comm1.StartComm;
end;
procedure TFcomm.Button2Click(Sender: TObject);
begin
comm1.StopComm;
end;
///////////////////////////////////////////////////
procedure TFcomm.Btn_sendClick(Sender: TObject);
begin
sbuf[1]:=byte($01); {幀頭}
sbuf[2]:=byte($05); {命令號}
sbuf[3]:=byte($00);
sbuf[4]:=byte($01);
sbuf[5]:=byte($FF);
sbuf[6]:=byte($00); {幀尾}
senddata;{調用發送函數}
// sbuf[1]:=byte($f0); {幀頭}
// sbuf[2]:=byte($01); {命令號}
// sbuf[3]:=byte($ff);
// sbuf[4]:=byte($ff);
// sbuf[5]:=byte($01);
// sbuf[6]:=byte($0f); {幀尾}
// senddata;{調用發送函數}
end;
//接收過程
procedure TFcomm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:integer;
begin
viewstring:='';
move(buffer^,pchar(@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.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -