delphi7串口通信(spcomm控件)实例

delphi7串口通信(spcomm控件)实例
delphi7串口通信(spcomm控件)实例

Delphi7串口通信(spcomm控件)实例

最近在用delphi7做串口通信,网上找了很多例程,复制粘贴运行就没有能通过的,再次鄙视一下列位先行者,你们帮人倒是帮到底啊,没一个是拿过来能用的,太坑了,在N天的努力下(鄙人比较笨)终于通过串口接收到数据,希望给后来人予以帮助,程序如下:

功能简介

功能比较简单,只是从串口接收单片机发送的数据,给memo1

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms,

Dialogs, SPComm, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Comm1: TComm;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word);

procedure Comm1ModemStateChange(Sender: TObject; ModemEvent: Cardinal);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

viewstring:string;

i:integer;

rbuf,sbuf:array[1..16] of byte;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Comm1.OnReceiveData:=Comm1ReceiveData;

comm1.StartComm;

end;

//打开串口

procedure TForm1.Button2Click(Sender: TObject);

begin

comm1.StopComm;

end;

//关闭串口

procedure https://www.360docs.net/doc/a913917203.html,m1ReceiveData(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;

//接收数据

procedure https://www.360docs.net/doc/a913917203.html,m1ModemStateChange(Sender: TObject;

ModemEvent: Cardinal);

begin

end;

end.

运行测试,顺利通过,接收到单片机发送的数据,感谢百度好友的帮助。

(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注!)

相关主题
相关文档
最新文档