C: 跨平台RS-232串口库?

发布于 2024-09-04 09:02:46 字数 1539 浏览 5 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

南渊 2024-09-11 09:02:46

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

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

  • 端口枚举(获取系统上的串行端口列表)
  • 打开、关闭和查询端口
  • 设置端口参数(波特率、奇偶校验等)
  • 端口信令操作(调制解调器控制线、中断等)
  • 读、写,并刷新数据
  • 等待事件
  • 获取错误信息

Sigrok 项目正在积极使用最初的 0.1.0 版本来支持串行硬件并已打包在多个 Linux 发行版中。 git 版本还包括新的 API 调用,用于获取有关 USB 串行适配器(VID/PID 等)的信息。

You would think that a cross-platform C library for serial ports is something that would have existed for 20 years already, but as of 2013 there still wasn't one, so I created libserialport.

It is tested on Windows, Mac OS X, Linux (including Android), BSD and will probably build on other Unix systems also. It supports:

  • Port enumeration (obtaining a list of serial ports on the system)
  • Opening, closing and querying ports
  • Setting port parameters (baud rate, parity, etc.)
  • Port signalling operations (modem control lines, breaks, etc.)
  • Reading, writing, and flushing data
  • Waiting for events
  • Obtaining error information

The initial 0.1.0 release is in active use by the Sigrok project for supporting serial hardware and is packaged in several Linux distributions already. The git version also includes new API calls for getting information about USB serial adapters (VID/PID etc).

丑丑阿 2024-09-11 09:02:46

这是一个无耻的插件,但我有一个 MIT 许可的 RS-232 通信库,它可以移植到 Windows、Linux 和 OS X:

http://wjwwood.io/serial/

This is a shameless plug, but I have a MIT licensed library for RS-232 communication which is portable to Windows and Linux and OS X here:

http://wjwwood.io/serial/

扛刀软妹 2024-09-11 09:02:46

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

I realize that you said C and not C++, but perhaps you could use Boost Asio's serial ports and compile that into a library to be linked with your C application. It claims to be POSIX compatible, and OS X is POSIX.

猫弦 2024-09-11 09:02:46

我在 MIT 许可证下发布了我的: https://github.com/Marzac/rs232

它是在C 语言,适用于 Windows、Mac 和 Linux。

I released mine under the MIT license: https://github.com/Marzac/rs232

It is programmed in C and works well for Windows, Mac and Linux.

留蓝 2024-09-11 09:02:46

OS X 支持标准 POSIX 串行 API,来自 。查找函数tcsetattr()cfsetspeed() 等。

OS X supports the standard POSIX serial API, from <termios.h> and <unistd.h>. Look up the functions tcsetattr(), cfsetspeed() and so on.

执笏见 2024-09-11 09:02:46

获取一些额外的 OS X 特定 Objective-C 代码,例如 AMSerialPort、goSerial、serialconnect、PolKit 等,并实现 C 源文件的条件编译。

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

Get some additional OS X-specific Objective-C code along the lines of AMSerialPort, goSerial, serialconnect, PolKit, ... and implement a conditional compilation of your C source file.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文