Delphi 是新一代可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点, Delphi 系列开发工具在国际各媒体上曾获得过三十多项大奖, 是全球公认的快速应用开发工 具技术的先驱者,他越来越在构架企业信息系统方面发挥着重要作用。 它的功能很强大,但在对串口通信的控制上
Delphi 的帮助
文档和其他书籍中很少提及,可 这是在开发应用
系统时会经常遇到却又令人头痛的事情。目前,利用 Delphi 实现串口通信 的
常用的方法有 3 种:一是利用控件,如 MSCOMM 控件和 SPCOMM 控件;二是使用 API 函数;三是调用其他串口通信程序。其中利用 API 编写串口
通信程序较为复杂,需要掌握 大量的通信知识。相比较而言,利用 SPCOMM 控件则相对较简单,并且该控件具有丰富的 与串口通信密切相关的属性及事件,提供了对串口的各种操作,而且还支持多线程。 使用控件这一方法容易掌握, SPCOMM 支持多线程, 而 所以 SPCOMM 控件的应用更加广泛。 一.SPCOMM 控件的安装 1.选择下拉菜单 Component 的第二项 Install Component 。
图1 弹出图 1 所示的窗口,在 Unit file name 处填写控件 SPCOMM 控件所在路径,其它可用 默认值,点击 OK 按纽。 2.安装成功后,system 控件面板中将出现一个红色控件 COMM。现在使用 COMM 控件可 以象 Delphi 自带控件一样使用.。 二.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 是发送的长度。