在一个平台无关的方式访问串行端口[关闭](Access the serial port in a p

2019-07-31 03:17发布

我有个任务要创建一个程序,从桌面工作站控制设备通过RS-232。 目前我在规划阶段,需要选择语言和整体解决问题的方法的一般帮助。

该计划应建立和Linux(Ubuntu的大部分)和Windows(XP,7)在32位和64位Intel处理器下运行。 工作站可能有物理COM端口或(更可能)USB-RS232转换器。

目前我最好的选择是一个C ++程序,通过CMake构建有条件。 有没有一些方法,使用一些语言,配置和访问串行端口(包括通过USB仿真),即独立于平台的? 如果没有,这将是一个很好的办法解决这个问题?

建议到现在为止
* C ++与升压
* 与pySerial蟒蛇

Answer 1:

使用(用C ++)升压短耳!

( http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio.html )

它保证是独立于平台: http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio/using.html

虽然什么使得它远远超过任何其他库更好的是,它支持异步通信。 我觉得这个功能使得它在你的设备控制软件是非常有用的。 而且不要忘记,这是它的图书馆是非常可靠的升压的一部分。

我(使用AT通过串口/ COM端口发送的命令),用它在我的短信程序。

希望这能解决你的问题,因为它解决了我的。



Answer 2:

您可以在Java看看通信API

对于C / C ++,你可以在Linux下使用/ dev / ttySx设备,MacOS和Cygwin的(适用于Windows)。 如果USB-RS232转换器是基于FTDI芯片,你可以对libFTDI看看。 最后,你可以最终检查RS-232为Linux和Windows



文章来源: Access the serial port in a platform-independant way [closed]