spcomm控件没有接收数据??应该如何解决,谢谢! |
尚未結案
|
bianliang
一般會員 ![]() ![]() 發表:2 回覆:0 積分:0 註冊:2003-11-04 發送簡訊給我 |
代码如下:测试的时候,没有接收到数据: procedure TFCOMM.FormClose(Sender: TObject; var Action: TCloseAction);
begin
comm1.StopComm;
end; procedure TFCOMM.FormShow(Sender: TObject);
begin
comm1.StartComm;
end; 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.memo1.lines.add(viewstring);
fcomm.memo1.lines.add(''); if not commflg then messagedlg('发送失败 !' ,mterror,[mbyes],0); end; procedure TFCOMM.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 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.
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |