Java OSX上的独占串行端口访问

Java OSX上的独占串行端口访问,java,macos,serial-port,Java,Macos,Serial Port,我正在研究一种使用gnu.io()通过USB串行端口与微控制器通信的方法。该应用程序在Windows、Linux和OSX上运行。它依靠gnu.io进行便携式串行端口访问。一位Macbook用户发布了一份日志,显示了两件事的证据: 当应用程序打开串行端口时,某些东西会导致RTS脉冲,从而重置微控制器 当应用程序打开串行端口时,会暂时改变波特率,导致输入上出现垃圾。(通常情况下,微控制器/固件/USB组合不易受到不良波特率的“线路噪声”式垃圾特性的影响) 当应用程序处于空闲状态时,这种情况会定期发

我正在研究一种使用
gnu.io
()通过USB串行端口与微控制器通信的方法。该应用程序在Windows、Linux和OSX上运行。它依靠
gnu.io
进行便携式串行端口访问。一位Macbook用户发布了一份日志,显示了两件事的证据:

  • 当应用程序打开串行端口时,某些东西会导致RTS脉冲,从而重置微控制器
  • 当应用程序打开串行端口时,会暂时改变波特率,导致输入上出现垃圾。(通常情况下,微控制器/固件/USB组合不易受到不良波特率的“线路噪声”式垃圾特性的影响)
  • 当应用程序处于空闲状态时,这种情况会定期发生(在RTS引发的重置之后,当自发消息到达时,会进行响应/记录)

我怀疑其他程序偶尔会打开同一个串行端口(例如搜索连接的设备)。如何在OSX上防止出现这种情况?

据我所知,RXTX不允许任何其他人使用它正在使用的串行端口,如果该端口在尝试打开时已经在使用,则会引发异常。对我来说,这听起来像是RXTX中的一个缺陷。它可能不是以独占模式打开端口,因此其他应用程序可以打开它。可能是易碎的硬件吗?UART芯片出现问题,因此系统将其重置。@MarkRobinson:我的UART是一个FTDI USB串行设备。作为一个实验。当您尝试同时从两个RXTX应用程序打开一个串行端口时会发生什么情况?特别是在MacOS X上。@MarkRobinson:我没有硬件来测试OSX版本。问题中的细节来自我要求报告错误的人进行的实验。您可以尝试SerialIO来确定这是RXTX错误还是硬件/驱动程序问题。