专栏中心

EEPW首页 > 专栏 > [转载]Delphi中串口通讯的实现

[转载]Delphi中串口通讯的实现

发布人:jobs 时间:2012-10-04 来源:工程师 发布文章
  用Delphi 实现串口通讯,常用的几种方法为:使用控件如MSCOMM和SPCOMM,使用API函数或者在Delphi 中调用其它串口通讯程序。利用API编写串口通信程序较为复杂,需要掌握大量通信知识,其优点是可实现的功能更强大,应用面更广泛,更适合于编写较为复杂的低层次通信程序。相比较而言,利用SPComm控件则相对较简单,该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作。

使用控件这一方法容易掌握,而SPCOMM支持多线程,所以SPCOMM控件的应用更加广泛。结合实例详细介绍SPCOMM的使用。

SPCOMM的主要属性,方法和事件

1.属性

CommName:填写COM1,COM2…等串口的名字,在打开串口前,必须填写好此值。

BaudRate:设定波特率9600,4800等,根据实际需要来定,在串口打开后也可更改波特率,实际波特率随之更改。

ParityCheck:奇偶校验。

ByteSize:字节长度_5,_6,_7,_8等,根据实际情况设定。

Parity:奇偶校验位

pBits:停止位

SendDataEmpty:这是一个布尔属性,为true时表示发送缓存为空,或者发送队列里没有信息;为False时表示表示发送缓存不为空,或者发送队列里有信息。

2.方法

Startcomm过程用于打开串口,当打开失败时通常会报错,错误主要有7种:
⑴串口已经打开 ;
⑵打开串口错误 ;
⑶文件句柄不是通讯句柄;
⑷不能够安装通讯缓存;
⑸不能产生事件 ;
⑹不能产生读进程;
⑺不能产生写进程;

StopComm过程用于关闭串口,没有返回值。

函数WriteCommData(pDataToWrite: PChar;dwSizeofDataToWrite:Word ): boolean 用于发送一个字符串到写线程,发送成功返回true,发送失败返回false, 执行此函数将立即得到返回值,发送操作随后执行。函数有两个参数,其中 pdatatowrite是要发送的字符串,dwsizeofdatatowrite 是发送的长度。

3.事件

OnReceiveData : procedure (Sender: TObject;Buffer: Pointer;BufferLength: Word) of object 
当输入缓存有数据时将触发该事件,在这里可以对从串口收到的数据进行处理。Buffer中是收到的数据,bufferlength是收到的数据长度。

OnReceiveError : procedure(Sender: TObject; EventMask : DWORD)
当接受数据时出现错误将触发该事件。

转载自:
《Delphi中串口通讯的实现》http://www.yesky.com/393/146893_2.shtml

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

[电源设计实例]25w~500w电源和NIMHNICD 电池快速充电器-linear

基于ARM Cortex-M4的Kinetis 微控制器超低功耗,混合信号集成,最具扩展性的产品系列

教你怎样改善输出滤波

视频 2010-12-02

[推荐]音频小辞典

资源下载 2007-02-09

功率器件热设计基础(五)——功率半导体热容

FM30c256 test program useing 8052

[推荐]国家半导体公司 模拟技术大学 运算放大器学习资料-低速通用运放

功率器件热设计基础(三)----功率半导体壳温和散热器温度定义和测试方法

功率器件的热设计基础(二)---热阻的串联和并联

淘汰你的啤酒冰箱,或许连主冰箱也一起换掉

《常用集成电路的封装标准大全》

功率器件热设计基础(四)——功率半导体芯片温度和测试方法

夫妻对话

hpnet 2003-10-28

MIPS架构的发展和嵌入式应用

视频 2010-12-28

孕育电力电子的未来:DOE 路线图

半夜听972

hpnet 2003-10-28

功率器件热设计基础(七)——热等效模型

未来在你手中 - ARM,数字世界架构提供商

视频 2010-12-28

功率器件热设计基础(九)——功率半导体模块的热扩散

嵌入式系统与物联网

功率器件的热设计基础(一)---功率半导体的热阻

电动车类设备在家庭应用中的充电安全

更多 培训课堂
更多 焦点
更多 视频

技术专区