2

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

该程序应在 32 位和 64 位 Intel 处理器上的 Linux(主要是 Ubuntu)和 Windows(XP、7)下构建和运行。工作站可能有物理 COM 端口或(更有可能)USB-RS232 转换器。

目前我最好的选择是使用 CMake 有条件地构建的 C++ 程序。是否有某种方式,使用某种语言来配置和访问串行端口(包括通过 USB 模拟),这是平台无关的?如果不是,那么解决这个问题的好方法是什么?

到目前为止的建议
* C++ with Boost
* python with pySerial

4

2 回答 2

4

使用 Boost Asio(使用 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

尽管它比任何其他库更好的是它支持异步通信。我认为该功能使其在您的设备控制软件中非常有用。并且不要忘记它是 Boost 的一部分,其库非常可靠。

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

希望这可以解决您的问题,因为它已经解决了我的问题。

于 2012-08-23T09:27:49.513 回答
1

您可以查看 Java Communication Api

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

于 2012-08-23T09:33:21.703 回答