Delphi+MSComm控件串口收发程序

Delphi+MSComm控件串口收发程序,第1张

概述//Delphi+MSComm控件串口收发程序 // [email protected] procedure TForm1.FormCreate(Sender: TObject); begin if MSComm1.PortOpen then MSComm1.PortOpen := false;//关闭端口 MSComm1.CommPort := 2;//设置端口2 MSComm1.InBuffe //Delphi+MSComm控件串口收发程序
// [email protected]

procedure TForm1.FormCreate(Sender: TObject);
begin
if MSComm1.Portopen then MSComm1.Portopen := false;//关闭端口
MSComm1.CommPort := 2;//设置端口2
MSComm1.InBufferSize := 256;//设置接收缓冲区为256个字节
MSComm1.OutBufferSize := 256;//设置发送缓冲区为256个字节
MSComm1.Settings := ‘9600,n,8,1‘;//9600波特率,无校验,8位数据位,1位停止位
MSComm1.inputLen := 0;//读取缓冲区全部内容(32个字节)
MSComm1.InBufferCount := 0;// 清除接收缓冲区
MSComm1.OutBufferCount:=0;// 清除发送缓冲区
MSComm1.RThreshold := 32;//设置接收32个字节产生OnComm 事件
// MSComm1.inputMode := cominputModeText;//文本方式
MSComm1.inputMode := cominputModeBinary;//二进制方式
MSComm1.Portopen := true;//打开端口
end;

procedure TForm1.FormClosequery(Sender: TObject; var CanClose: Boolean);
begin
if MSComm1.Portopen then MSComm1.Portopen := false;;//关闭端口
end;

procedure TForm1.MSComm1Comm(Sender: TObject);
var
buffer: olevariant;//MSComm1.inputMode = cominputModeBinary
str: string;//MSComm1.inputMode = cominputModeText
i: integer;
begin
case MSComm1.CommEvent of
comEvReceive: //串行接收事件处理
begin
if MSComm1.inputMode = cominputModeText then //字符方式读取
str := MSComm1.input//读出后会自动清除接收缓冲区,str[1]~str[32]
else //二进制方式读取
buffer := MSComm1.input;//读出后会自动清除接收缓冲区,buffer[0]~buffer[31]
Edit3.Text := ‘‘;
for i := 0 to MSComm1.RThreshold - 1 do //32字节Hex转换
begin
if MSComm1.inputMode = cominputModeText then //单行字符转换
Edit3.Text := Edit3.Text + inttohex(byte(str[i + 1]),2) + ‘ ‘
else //单行二进制数据转换
Edit3.Text := Edit3.Text + inttohex(buffer[i],2) + ‘ ‘;
end;
Memo2.lines.Add(Edit3.Text);//加入一行显示
end;
end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
i: integer;
begin
Edit4.Text := ‘‘;
for i := 0 to 31 do
begin
MSComm1.Output := char(i);//发送一个字符
Edit4.Text := Edit4.Text + inttohex(i,2);//以十六进制字符显示
end;
Memo1.lines.Add(Edit4.Text);//加入一行显示

end; 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

总结

以上是内存溢出为你收集整理的Delphi+MSComm控件串口收发程序全部内容,希望文章能够帮你解决Delphi+MSComm控件串口收发程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1273953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存