2012-08-14 134 views
1

我已經在java中編寫了一個代碼來與我的Arduino板進行通信。它運作良好。另外,我可以使用串行監視器與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?

希望有人會告訴我一個解決方法。任何幫助是極大的讚賞。謝謝!

回答

1

您的觀察結果是正確的,串行端口一次只能由一個應用程序打開。有些軟件解決方案可用於分割串行端口或監視它們,但我沒有足夠的經驗來提供任何建議。

+1

你告訴我很害怕接受。但是如果那是真的:(那麼我猜這不再是一個Java或者Arduino的問題了,好吧......我會盡快回復(我可能會得到一些其他的想法) – Anubis 2012-08-14 15:48:03