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

更新时间:2024-04-18 14:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

TForm1.Comm1ReceiveData(Sender:

Buffer: Pointer;BufferLength: Word);

TObject;

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 TObject;

ModemEvent: Cardinal); begin end;

TForm1.Comm1ModemStateChange(Sender:

end.

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

本文来源:https://www.bwwdw.com/article/ycdp.html

Top