我正在寻找一个开源的跨平台库,用于与C中的串行端口一起工作,这沿着很棒的线条 妹妹 库(不幸的是,我必须将C用于此应用程序)。

我只找到了这个: http://www.teuniz.net/rs-232/, ,这似乎没有提及OS X兼容性。

有帮助吗?

解决方案

您会认为串行端口的跨平台C库已经存在20年了,但是截至2013年,我仍然没有一个,所以我创建了 libserialport.

它在Windows,Mac OS X,Linux(包括Android),BSD上进行了测试,并且可能还将在其他UNIX系统上构建。它支持:

  • 端口枚举(获取系统上的串行端口列表)
  • 开放,关闭和查询端口
  • 设置端口参数(波特率,均等等)
  • 端口信号操作(调制解调器控制线,断路等)
  • 阅读,写作和冲洗数据
  • 等待事件
  • 获取错误信息

最初的0.1.0释放是在主动使用 西格罗克 支持串行硬件的项目,并已包装在几个Linux发行版中。 GIT版本还包括有关获取有关USB串行适配器(VID/PID等)信息的新API调用。

其他提示

我意识到您说的是C,而不是C ++,但也许您可以使用 Boost Asio的串行端口 并将其编译到与您的C应用程序链接的库中。它声称是POSIX兼容的,OS X是POSIX。

这是一个无耻的插头,但是我有一个用于RS-232通信的MIT许可库,该库可移植到Windows和Linux和OS X:

http://wjwwood.io/serial/

我根据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源文件的条件汇编。

http://osx.hyperjeff.net/apps/apps?f=serial

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top