我正在寻找一个开源跨平台库,用于在 C 中处理串行端口,类似于很棒的PySerial库(不幸的是,我必须为这个应用程序使用 C)。
我只找到了这个:http ://www.teuniz.net/RS-232/ ,而且似乎没有提到 OS X 兼容性。
您可能会认为用于串行端口的跨平台 C 库已经存在了 20 年,但到 2013 年仍然没有,所以我创建了libserialport。
它在 Windows、Mac OS X、Linux(包括 Android)、BSD 上进行了测试,并且可能还会在其他 Unix 系统上构建。它支持:
Sigrok项目正在积极使用最初的 0.1.0 版本来支持串行硬件,并且已经打包在多个 Linux 发行版中。git 版本还包括用于获取有关 USB 串行适配器(VID/PID 等)信息的新 API 调用。
这是一个无耻的插件,但我有一个用于 RS-232 通信的 MIT 许可库,可移植到 Windows、Linux 和 OS X:
我意识到您说的是 C 而不是 C++,但也许您可以使用Boost Asio 的串行端口并将其编译成一个库以与您的 C 应用程序链接。它声称与 POSIX 兼容,而 OS X 是 POSIX。
我在 MIT 许可下发布了我的:https ://github.com/Marzac/rs232
它是用 C 语言编写的,适用于 Windows、Mac 和 Linux。
OS X 支持标准 POSIX 串行 API,从<termios.h>
和<unistd.h>
. 查找功能tcsetattr()
,cfsetspeed()
等等。
沿着 AMSerialPort、goSerial、serialconnect、PolKit 等行获取一些额外的 OS X 特定的 Objective-C 代码,并实现 C 源文件的条件编译。