C:跨平台RS-232串行库? [关闭
-
24-10-2019 - |
题
我正在寻找一个开源的跨平台库,用于与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:
我根据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源文件的条件汇编。