PComm Lite是家叫moxa的公司出的,做了几十年工业串口卡、串口服务器之类设备了。提供的pcomm易用性、可靠性久经考验。
下载地址:http://www.moxa.com/product/download_pcommlite_info.htm
目前最新版是Version 1.5 Released 2010-09-20 支持XP/win7, 32/64bit的库都有,开发环境支持VC/VB/Delphi。
pcomm库函数为用户提供了基于win32 api的开发接口。pcomm库函数分为7大类:控制函数、数据输入函数、数据输出函数、状态函数、事件驱动函数、传输文件函数、特殊设定函数。
这些函数均返回int型数据,若函数调用成功则返回0,否则返回一个负整数。
(1)控制函数主要包括
sio_open(PortNum) 打开串口;
sio_open(PortNum) 关闭串口;
sio_ioctl(PortNum, baud, mode)设置串口的工作模式,包括波特率、数据位元,停止位,校验等;
sio_flush(ProtNum, func) 清除发送、接收缓冲区,其中func为0表示清空输入、为1表示清空输出、为2表示清空输入输出。
sio_SetWriteTimeouts(int port, DWORD TotalTimeouts):设置串口写操作的超时;
sio_lctrl(PortNum, mode) 设置串口RTS/DTS。
(2)数据输入函数主要包括
sio_getch(PortNum) 从输入缓冲区读一个字符;
sio_read(PortNum, buf, len) 从输入缓冲区读指定个数的字符
sio_iqueue(PortNum) 读取输入缓冲区中的字符长度;
(3)数据输出函数主要包括
sio_putch(PortNum) 写一个字符到输出缓冲区;
sio_write(PortNum, buf, len) 写指定个数的字符到输出缓冲区;
(4)状态函数主要包括
sio_lstatus(PortNum) 获取串口的CTS, DST, DCD, RI线的状态;
sio_getbaud(PortNum) 获取串口的波特率;
sio_getmode(PortNum) 获取串口的工作模式。对应sio_ioctl函数
(5)事件函数主要包括
sio_term_irq(portNum, func, code) 当接收到指定字符时响应事件,func为回调函数名,code为指定的字符;
sio_cnt_irq(portNum, func, count) 当接收到指定个数字元时响应事件,func为回调函数名,count为接收的个数;
(6)传输文件函数主要包括
sio_FtASCIITx(portNum, fname, func, key) 发送一个文本文件;
sio_FtASCIIRx(portNum, fname, func, key) 接收一个文本文件;
用起来很简单,pcomm.h/pcomm.lib两个文件复制到项目目录并引用,pcomm.dll丢到windows\system32下。