DELPHI中用MSCOMM实现串口通信
2006-03-16 16:11
453 查看
//发送数据
procedure senddata(astr:string);
var k:integer;
p:pchar;
achr:array of char;
begin
setlength(sbuf,length(astr));
setlength(achr,length(astr));
p:=pchar(astr);
for k:=0 to length(astr)-1 do
begin
achr[k]:=p^;
sbuf[k]:=ord(achr[k]);
p:=p+1;
end;
if frmMain.mscomm1.PortOpen=true then
begin
frmMain.mscomm1.Output:=sbuf;
end;
sleep(200);
end;
这是发送字符串的代码,如果是发送十六进制,直接用一个array of byte就行了,更加简单,接收类似.
//接收数据
procedure TfrmMain.MSComm1Comm(Sender: TObject);
var
v:Olevariant;
astr:string;
in_array:array of byte;
xtemp : Olevariant;
xScr : array of byte;
i, j : Integer;
xnNAK, xnRSD : Integer;
xRecData: String;
begin
i:=msComm1.InBufferCount;
if i=0 then
Exit;
if msComm1.CommEvent = 2 then
begin
xtemp := msComm1.Input;
SetLength(xScr,i);
xScr := xtemp;
for j:=0 to i-1 do
xRecData := xRecData +char(xScr[j]);
lstDisplay.Items.Add(FormatDateTime('hh:mm:ss', Now)
+': ' +xRecData);
lstDisplay.Items.Add('');
end;
end;
procedure senddata(astr:string);
var k:integer;
p:pchar;
achr:array of char;
begin
setlength(sbuf,length(astr));
setlength(achr,length(astr));
p:=pchar(astr);
for k:=0 to length(astr)-1 do
begin
achr[k]:=p^;
sbuf[k]:=ord(achr[k]);
p:=p+1;
end;
if frmMain.mscomm1.PortOpen=true then
begin
frmMain.mscomm1.Output:=sbuf;
end;
sleep(200);
end;
这是发送字符串的代码,如果是发送十六进制,直接用一个array of byte就行了,更加简单,接收类似.
//接收数据
procedure TfrmMain.MSComm1Comm(Sender: TObject);
var
v:Olevariant;
astr:string;
in_array:array of byte;
xtemp : Olevariant;
xScr : array of byte;
i, j : Integer;
xnNAK, xnRSD : Integer;
xRecData: String;
begin
i:=msComm1.InBufferCount;
if i=0 then
Exit;
if msComm1.CommEvent = 2 then
begin
xtemp := msComm1.Input;
SetLength(xScr,i);
xScr := xtemp;
for j:=0 to i-1 do
xRecData := xRecData +char(xScr[j]);
lstDisplay.Items.Add(FormatDateTime('hh:mm:ss', Now)
+': ' +xRecData);
lstDisplay.Items.Add('');
end;
end;
相关文章推荐
- DELPHI中用MSCOMM实现串口通信
- DELPHI中用MSCOMM实现串口通信
- Delphi使用spcomm实现串口通信 基础知识及(两个实例)
- [MSComm]实现串口通信编程学习
- Delphi使用spcomm实现串口通信 基础知识及(两个实例)
- 在C#中实现串口通信
- 串行通信的基本原理及用MFC实现串口通信编程通信编程实现原理基本串口//数据操作线程
- Delphi实现串口编程收发短信
- 串口通信过程中更改波特率的方法 C#实现
- 串口通信-MSComm控件使用详解
- C#实现串口通信编程
- 串行通信的基本原理及用MFC实现串口通信编程
- 在C#中实现串口通信的方法
- Java实现的串口通信功能示例
- 在串口通信开发中实现自动查找串口端口的方法
- 用SPCOMM 在 Delphi中实现串口通讯
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 基于Delphi实现客户端服务端通信Demo
- 使用Java实现简单串口通信
- 在ubuntu下利用minicom实现串口通信