1

Arduinoボードと通信するためのコードをJavaで記述しました。それはうまくいきます。また、シリアルモニターを使用してArduinoボードと通信することもできます。

しかし、Javaプログラムの実行中にシリアルモニターを開こうとすると(ボードに接続されているポート、PORT 32をリッスンしている)、次のように表示されません。

Serial port 'COM 32' already in use. Try quitting any programs that may be using it.

これは完全なメッセージです(完全を期すために)

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にアクセスするために両方のプログラムを同時に使用できないことを意味しますか?

誰かが私にこれを回避する方法を教えてくれることを願っています。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

あなたの観察は正しいです。シリアルポートは、一度に 1 つのアプリケーションでしか開くことができません。シリアル ポートを分割したり監視したりするためのソフトウェア ソリューションはありますが、推奨できるほどの経験はありません。

于 2012-08-14T15:39:54.237 に答える