串口编程利器:Pcomm lite 串口库介绍
2016-05-25 10:33
435 查看
泡CSDN论坛时过一阵子就会看到提问关于串口编程的,有用API的,有用mscomm的。
其实用了Pcomm lite,很多问题都不会碰到,只需要打开串口,建个线程收数据,然后只需要关注自己要收发的数据就行了。
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。
注意可以会搜到另外一个Version 2.6. Released Jul 8, 2008是WIN9x/NT4用的,不要看版本号高下错了。
国外工业上还有很多老系统在用。
用起来很简单,pcomm.h/pcomm.lib两个文件复制到项目目录并引用,pcomm.dll丢到windows\system32下。
整个库包含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之类的协议就要自己写了。
其实用了Pcomm lite,很多问题都不会碰到,只需要打开串口,建个线程收数据,然后只需要关注自己要收发的数据就行了。
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。
注意可以会搜到另外一个Version 2.6. Released Jul 8, 2008是WIN9x/NT4用的,不要看版本号高下错了。
国外工业上还有很多老系统在用。
用起来很简单,pcomm.h/pcomm.lib两个文件复制到项目目录并引用,pcomm.dll丢到windows\system32下。
整个库包含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之类的协议就要自己写了。
相关文章推荐
- python 爬虫登陆学校教务系统之验证码识别
- C++Qt5调用 php-cgi.exe运行 php程序
- 关于php跨域问题
- java.lang.OutOfMemoryError: Failed to allocate a 22440958 byte allocation with 16777216 free bytes
- Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
- java中的session
- Java单元测试之代码覆盖率-JaCoCo
- 01 Python概述
- java web定时任务的实现
- 268. Missing Number #Medium
- Java 最简单的单例设计模式
- C++笔记--函数
- Python学习 (五 面向对象编程)
- java42类集框架(二)
- php后台的在控制器中就可以实现阅读数增加
- Java类成员的初始化顺序
- Spring框架的学习(零)-简单介绍与入门实例
- JavaWeb 服务启动时,在后台启动加载一个线程
- spring MVC配置详解
- java多线程