当前位置: 首页 > 知识库问答 >
问题:

通过串行监视器读取Arduino并同时Java

岑畅
2023-03-14

我已经用java编写了一段代码来与我的Arduino板通信。它工作得很好。我还可以使用串行监视器与Arduino板通信。

但是,当我试图打开串行监视器时,java程序正在运行(监听连接到电子板的端口,端口32),它没有说,

串行端口“COM 32”已在使用中。尝试退出任何可能正在使用它的程序

这是完整的信息(为了完整起见)

Binary sketch size: 3,994 bytes (of a 258,048 byte maximum)
processing.app.SerialException: Serial port 'COM32' already in use. Try quiting any programs that may be using it.
    at processing.app.Serial.<init>(Serial.java:171)
    at processing.app.Serial.<init>(Serial.java:92)
    at processing.app.SerialMonitor.openSerialPort(SerialMonitor.java:207)
    at processing.app.Editor.handleSerial(Editor.java:2447)
    at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:353)
    at java.awt.Component.processMouseEvent(Component.java:6260)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2475)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

是的,我知道,这是我的java程序,它正在使用端口。但这是否意味着我不能同时使用这两个程序访问PORT32?

希望有人能告诉我解决这个问题的方法。非常感谢您的帮助。谢谢

共有1个答案

桂梓
2023-03-14

您的观察是正确的,串行端口一次只能由一个应用程序打开。有一些软件解决方案可用于拆分串行端口或监视它们,但我在这些方面的经验不足,无法给出任何建议。

 类似资料:
  • 我有一个程序可以打印到液晶显示器上,我想知道我是否可以同时将它打印到串行显示器上。 我试过连载。开始,但只是有错误。

  • 我想做的是从我用Arudino制作的转速表电路中读取连续的数据流,然后将其输入处理;我已经使用下面的代码成功完成了: 我不确定如何处理数据,以便每当检测到某个值时,处理中都会发生事件。 编辑:有人建议关闭,所以我的问题是调用是一个阻塞调用,这意味着中的指令指针将保持在。指针将调用和,但永远不会到达启动串行端口的线路 建议的解决方案是将这些行移动到的顶部,并将作为的最后一行。我尝试了这个(我下面的代

  • 我从Arduino Uno发送到串行端口的数据可以在Arduino串行监视器中完全按照预期查看,但在我的WAMP环境中通过serproxy从PHP读取数据时,我会得到一些缺失或额外的字符(例如,通常是一个看起来像黑钻石内部的问号的字符)。 我在网上发现了类似的问题,但所有的答案都不够。解决方案通常只针对Linux,或者只是解决了让Windows从串行端口读取(而不是写入)所需的许多挑战的一部分。

  • 我正在尝试使用LiquidCrystal库在两个LED屏幕上以及在串行监视器上进行Arduino输出(稍后将输出到txt文件或类似文件)。 在我的代码中,我注释掉了Serial。开始(9600),然后屏幕正确输出,但一旦我包括它,串行监视器输出良好,但屏幕翻转并输出乱码。我是个新手,我知道有一些基本的东西我不知道,比如9600应该增加,因为可能需要这么大的功率? 干杯

  • 我有一个Arduino Mega2560,它从传感器(格罗夫响度传感器)读取模拟值,并通过USB将其发送到树莓派3b。这些值在Arduino IDE的串行监视器中完美且毫不延迟地到达。但当我试图在处理过程中接收它们时,无论我发出多少噪声,我都会得到几乎为零的值,这里和那里都有随机的峰值。 我的第一个猜测是,我的处理代码将接收到的数据弄乱了,所以我更改了Arduino草图,以发送一个递增的整数,而不

  • 我试图在一些python代码和arduino代码之间来回“乒乓”信息。我想定期向arduino代码发送两个设定点(例如,在分钟内),在arduino上读取它们 现在,我无法获得可靠的信息来来回跳转。我在搜索中没有找到任何与此类似的内容,我试图修改的所有内容都不起作用。最接近我的是这个(实际上它并没有在发送和接收之间来回切换): python 阿杜伊诺: 我最终得到的只是重复的相同值(不是实际发送的