Moxa是一家做了几十年工业串口卡、串口服务器之类设备的公司,PComm Lite是一套易用性、可靠性久经考验串口编程开发包。相比用API或mscomm控件开发简单太多了。
版本:目前最新版是Version 1.6 Released May 14, 2012 支持XP/win7, 32/64bit的库都有,开发环境支持VC/VB/Delphi。注意可以会搜到另外一个Version 2.6. Released Jul 8, 2008,那是在WIN9x/NT4用的,不要看版本号高下错了。
使用方法:运行安装后有类库、例程、帮助和几个小工具。关键的有四个文件:pcomm.h/pcomm.lib两个文件复制到项目目录并引用,pcomm.dll丢到windows\system32下或跟应用程序放在一起,pcomm.chm帮助备查。
函数介绍:整个库包含50多个函数,最常用的也就10来个:
打开、关闭、设波特率的:sio_open ()、sio_close()、sio_baut()
发送数据的:sio_putch(),sio_write()
接收数据的:sio_getch(),sio_read()
查询输入输出缓冲区状态的:sio_iqueue(), sio_oqueue()
有时可能要设读写超时:sio_SetReadTimeouts(), sio_SetWriteTimeouts()
这些函数见名知义,用法查一下PComm.chm就行了。
编程方法:
接收数据一般免不了要开线程的,在接收线程里sio_iqueue()看一下有没有数据,有就处理,没就Sleep()一会。接收数据时它至少会帮你缓冲几十k,一般也不会丢数据。也可以用sio_term_irq()指定接收一定长数据数据就调用一个CALLBACK函数。
这些基本就齐活了。需要控制DTS/RTS、自动流控制都有,甚至还有Xmoderm/Ymoderm/Zmoderm发送文件。如果要Modbus之类的协议就要自己写了。
与其它串口开发方式比较:简单地说API是基础零件,自己做起来麻烦。MSComm控件、CSerialPort类是实验室产品,Pcomm lite是工业成熟产品。
1