预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SPCOMM控件在Delphi串口通信中的应用-南山古桃-关键词:Delphi,串口通信,Spcomm控件2008年03月10日星期一下午01:03关键词:Delphi,串口通信,Spcomm控件摘要:利用Delphi开发工业控制系统软件成为越来越多的开发人员的选择,而串口通信是这个过程中必须解决的问题之一。本文在对几种常用串口通信方法分析比较的基础上,着重讨论了Delphi开发环境下利用Spcomm控件实现PC机与单片机之间串口通信的方法,研究了Spcomm串口通信的关键技术问题,并通过一个实例给出了Spcomm控件在Delphi7.0串口通信中的应用。关键词:串口通信;Delphi7.0;Spcomm控件****本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/****1引言目前,随着现代信息技术的发展,计算机串口通信技术已日趋成熟。由于微机性能价格比高、分析处理能力强、处理速度快以及单片机抗干扰能力强、使用灵活等特点,利用PC机作为上位机,单片机作为下位机的主从工作方式在工业控制领域中被广泛采用。PC机与下位机的通信可以采用高级语言编程实现,如Delphi、VC等。Delphi是新一代面向对象的可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,越来越在构架企业信息系统方面发挥着重要作用。由于Delphi这些显著特点,利用Delphi开发工业控制系统软件成为越来越多的开发人员的选择,而实现系统监测控制和信息处理的关键是解决PC机与单片机之间的串口通信问题。2.Spcomm串口通信组件简介****本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/****用Delphi实现串口通信,常用的方法有:使用控件,如Mscomm和Spcomm控件等;使用API函数;在Delphi中调用其它串口通信程序[1]。使用API方法的优点是比较适合于编写较为复杂的低层次通信程序,但缺点是编写串口通信程序较为复杂,需要掌握大量通信知识。Spcomm是Small-PigTeam开发的一个第三方Delphi串口控件[2],该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,且编程简单、通用性强、可移植性好。在Delphi软件开发中已经成为一个被广泛应用的串口通信开发控件。Spcomm共实现了三个类:串口类Tcomm、读线程类TreadThread以及写线程类TwziteThread[1]。Tcomm的某个实例在方法StartComm中打开串口,并实例化了一个读线程ReadThread和一个写线程WriteThread,它们和主线程之间进行消息的传递,实现串口通信。在Delphi7.0中安装Spcomm串口通信控件的方法为:选择Delphi7.0的“Component”菜单,点击“InstallComponent...”菜单项,然后在弹出的Intoexistingpackage属性页中Unitfilename输人框中选择SPCOMM.pas文件,单击两次“OK”按钮后,就可以将Spcomm控件安装到Delphi7.0的System组件页上。3Spcomm控件串口通信的实现3.1Spcomm控件的基本属性、方法和事件****本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/****Spcomm串口通信控件的基本属性、方法和事件说明如下:CommName属性:计算机串口端口号的名字,COM1、COM2……等,在打开串口前,必须填写好此值。Parity属性:校验位None、Odd、Even、Mark、Space等。BaudRate:设定支持串口通信用的波特率9600,4800等,根据实际需要来定,在串口打开后也可更改波特率,实际波特率随之更改。ByteSize属性:表示一个字节中,使用多少个数据位收发数据,根据具体情况设定5、6、7、8等。StopBits属性:表示一个字节中,使用停止位的位数,根据具体情况设定1、1.5、2等。SendDataEmpty属性:布尔属性,为True时表示发送缓存为空,或者发送队列里没有信息;为False时表示表示发送缓存不为空,或者发送队列里有信息。StartComm方法:用来打开通信串口,开始通信。如果失败,则会导致串行口错误。错误类型大致分为串行口己处于打开状态,所以不能打开串行口,不能创建读写进程,不能建立串行口缓冲区等。StopComm方法:用来停止通信串行口的所有进程,关闭串口。WriteCommData(pDataTo