OSX 上的独占串行端口访问
我正在开发一个使用 gnu.io
(RXTX) 通过 USB 串行端口与微控制器通信。该应用程序可在 Windows、Linux 和 OSX 上运行。它依靠 gnu.io
进行便携式串行端口访问。一位 Macbook 用户发布了一份日志,显示了两件事的证据:
- 当应用程序打开串行端口时,某些东西会导致 RTS 发出脉冲,从而重置微控制器。
- 当应用程序打开串行端口时,某些东西会暂时改变波特率,导致输入上出现垃圾。 (通常,这种微控制器/固件/USB 组合不易受到不良波特率的“线路噪声”式垃圾特征的影响)。
- 当应用程序处于空闲状态时,这种情况会定期发生(在 RTS 引起的重置后自发消息到达时进行反应/记录)
我怀疑某些其他程序偶尔会打开相同的串行端口(例如搜索连接的设备)。在 OSX 上如何防止这种情况发生?
I'm working on an open source program that uses gnu.io
(RXTX) to talk to a microcontroller over a USB serial port. The app runs on Windows, Linux and OSX. It relies on gnu.io
for portable serial port access. One Macbook user has posted a log showing evidence of two things:
- While the application has the serial port open something causes RTS to pulse, resetting the microcontroller.
- While the application has the serial port open something changes the baudrate temporarily, causing garbage to appear on the input. (Normally this microcontroller/firmware/USB combination is not susceptible to "line noise" style garbage characteristic of bad baud rates).
- This happens periodically while the application sits idle (reacting/logging when spontaneous messages arrive after the RTS induced reset)
I suspect that some other program is opening the same serial port occasionally (eg searching for a connected device). How do I prevent that on OSX?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我所知,RXTX 不允许其他人使用它正在使用的串行端口,并且如果在尝试打开该端口时该端口已在使用中,则会抛出异常。对我来说听起来像是 RXTX bug
as far as I know, RXTX does not allow anyone else to use a Serial port it's using, and throws an exception if the port is already in use when it tries to open it. sounds like a RXTX bug to me