现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

工业级串口编程利器:Pcomm lite 串口库介绍

2016-04-03 06:07 工业·编程 ⁄ 共 1248字 ⁄ 字号 暂无评论

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下。

给我留言

留言无头像?