最近在用Delphi7做串口通信,但在网上找了很多代码,都是没有一个完整的实例,复制粘贴网上的代码运行就没有能通过的,可能是现在Delphi7在市场上用得不是很多,又或者说我是井底之蛙。因此,为了解决大部分初学者对串口通讯不怎么了解的郁闷,现将我做好的实例分享给大家参考参考,希望能给初学者予以帮助,如有不对的地方还请多多指教。本实例用到的控件是Spcomm,也包含在这个文件夹里面了,下面是部份截图和部份代码展示:





部分代码展示:

//打开、关闭串口
procedure TCommixForm.btnPortClick(Sender: TObject);
beginif btnPort.Caption = 'Open Port' thenbeginif ComPortAvailable(pchar(cbbPort.Text)) thenbegincmPort.StopComm;cmPort.CommName := cbbPort.Text;cmPort.BaudRate := StrToInt(cbbBaudRate.Text);Commsize;cmPort.StartComm;btnPort.Caption := 'Close Port';cbbPort.Enabled := False;btnSend.Enabled := True;endelsebeginShowMessage(cbbPort.Text + ' 打开失败,请检查串口!');cbbPort.Enabled := True;btnPort.Caption := 'Open Port';btnSend.Enabled := False;end;endelsebegincmPort.StopComm;cbbPort.Enabled := True;btnPort.Caption := 'Open Port';btnSend.Enabled := False;end;
end;

//处理接收的数据
procedure TCommixForm.cmPortReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
varstr, rbuf: string;i: Integer;
beginSetLength(rbuf, BufferLength);Move(Buffer^, PChar(rbuf)^, BufferLength);if rbShowHEX.Checked thenbeginrbuf := StrToHex(rbuf);str := '';for i := 0 to Length(rbuf) div 2 dobegin//加个空格相对美观点  clBlueif i < 1 thenstr := str + Copy(rbuf, i * 2, 2);if i > 0 thenstr := str + ' ' + Copy(rbuf, i * 2 + 1, 2);end;rbuf := str;end;mmoShow.Font.Color := clBlue;mmoShow.Lines.Add(rbuf);
end;

// 发送数据
procedure TCommixForm.btnSendClick(Sender: TObject);
varsendInput, result: string;i: Integer;
beginsendInput := mmoInput.Text;if rbInputHEX.Checked thenbeginsendInput := StringReplace(mmoInput.Text, ' ', '', [rfReplaceAll, rfIgnoreCase]);for i := 1 to Length(sendInput) dobeginif System.Odd(i) thenbeginresult := result + Char(StrToIntDef('$' + Copy(sendInput, i, 2), 0))end;end;cmPort.WriteCommData(PChar(result), Length(sendInput) div 2);endelsebegincmPort.WriteCommData(PChar(sendInput), Length(sendInput));end;
end;

本实例我将上传至CSDN,有需要的朋友请自行下载!
下载地址:Delphi7串口通讯实例(含Spcomm控件).zip_delphi7串口-Delphi代码类资源-CSDN下载

Delphi7串口通讯实例(含Spcomm控件)相关推荐

  1. SPCOMM控件在Delphi7.0串口通信中的应用

    ====================================================== 注:本文源代码点此下载 ================================= ...

  2. STM32兴趣篇四:STM32F103C8T6工控板与LabVIEW的串口通讯实例

    串口通信(Serial Communications)是指外设与计算机间,通过数据线按位进行传输数据的一种通讯方式.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根 ...

  3. WIN32:API串口通讯实例教程

    WIN32 API串口通讯实例教程   第一节   实现串口通讯的函数及串口编程简介   API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作.常用函数及 ...

  4. codesys 串口通讯实例_串口通讯例子,(已调试成功可以接收数据)

    io.open();//打开控制台importcom.activeX io.print("qq:761153454,本程序为串口通讯") com1 =com.CreateObjec ...

  5. Windows串口通信有关的MSComm控件

    问题描述:一般单片机.ARM.FPGA一类的板子基本都会带有RS232串口,因为协议简单,而且成熟,有许多现成的东西可以借鉴使用.在上位机通过串口获取下位机传来的信息或数据,Windows下一般有(1 ...

  6. codesys 串口通讯实例_常见的PLC程序实例,车库自动门的PLC控制!

    点击箭头处"工业之家",选择"关注公众号"! PLC控制车库自动门实例 车库自动门控制 (1)明确系统控制要求 系统要求车库门在车辆进出时能自动打开关闭,车库门 ...

  7. delphi7 安装delphi 5 delphi 6控件

    delphi7默认没有安装.需要手动安装.  具体位置:delphi7/bin/dclsockets70.bpl. 安装方法如下: Component->Install Packages-> ...

  8. 一步步学习微软InfoPath2010和SP2010--第十二章节--管理和监控InfoPath Form Services(IPFS)(4)--监控含图片控件的Products表单...

    如本章节前面提到的,你的IPFS表单表现没有你想象的好有很多可能的原因.一个最明显的原因是表单产生太多通信量(因为表单产生的HTML的大小).在许多你使用了大型.笨拙表单的许多方法中,最常见的是让用户 ...

  9. vc2010串口通信(使用mscomm控件)

    1.下载mscomm控件: (下载地址:http://download.csdn.net/detail/tianhen791/4023983) 2.安装注册控件:下载完成后解压->点击setup ...

  10. Delphi7.0破解及常用三方控件的安装

    (董氏门生专用) 1 Delphi7.0安装及破解 1)点击安装包进行安装 2)当需要输入key时,使用keygen.exe获得 3)当出现"Install InterBase Client ...

最新文章

  1. 浅谈 MVP in Android
  2. 多文多面阐述HMM很清晰
  3. 北理通信男找工作的经历及心得
  4. 第一次使用Android Studio时你应该知道的一切配置
  5. tab-pane 怎么家点击事件_想起爆款?怎么样去打造一个人见人点的爆款主图?
  6. 怎样用jQuery拿到select中被选中的option的值
  7. php求完数,php算法:求完全数 | 学步园
  8. 十分钟能学会的简单python爬虫
  9. 首次公开 | 淘系技术总监马鏖谈淘系用户增长
  10. java删除有序数组中的重复元素_算法刷刷刷Leetcode第26题删除排序数组中的重复项...
  11. java开发搭建环境搭建_Java开发环境搭建
  12. mysql导出sql和表格文件大小_atitit.sql server2008导出导入数据库大的表格文件... oracle mysql...
  13. web集成mpush开发
  14. PPT科研绘图:用PPT绘图,保存为eps并导入Latex
  15. 3点画矩形的lisp_AutoCAD LISP矩形窗格绘制
  16. apk软件去广告 傻瓜教程
  17. C语言从入门到精通——指针基础
  18. 天地伟业客户端服务器维护,天地伟业监控维保常见问题总结
  19. mysql查询带序列号
  20. JDK的下载,安装与配置(Win10安装方法)

热门文章

  1. 代码行数统计工具loc与iloc
  2. python爬虫微信公众号文章_Python爬虫案例:爬取微信公众号文章
  3. 机器人教室外墙_智慧教室之机器人创客教室建设方案
  4. 机器学习的十大经典算法,面试必问
  5. 蓝牙模块有哪些种类?BLE低功耗蓝牙模块有什么特点?
  6. Mac系统镜像文件(Monterey-Sierra,加部分OS X)
  7. ISO50001认证辅导,ISO50001能源管理体系的框架审核通过系统的提高能源效率和消耗
  8. secoclient
  9. Python 打包的EXE文件反编译1|EXE文件反编译为pyc文件
  10. PDMS Pipeline Tool 教程(五):汇料属性设置