[英]Serial port sharing by Java and Arduino processes
我想通過使用串行端口/dev/tty.usbmodem1421
(正確安裝了Mac OS X, Mountain Lion (v10.8),Java 6和rxtx庫)將Java應用程序中的整數發送到Arduino。 簡而言之,我的Java應用程序以正確的方式找到並打開了串行端口,並添加了EventListener:
serialPort = (SerialPort) portId.open(this.getClass().getName(), TIME_OUT);
serialPort.setSerialPortParams(DATA_RATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
input = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
output = serialPort.getOutputStream();
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);
我的Arduino 草圖正在從串行端口讀取:
int num=0;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
num = Serial.read();
// Code for lighting num LEDs
}
}
我有兩種情況:
在情況1)中,Arduino草圖拋出PortInUse異常,在情況2)中,Java應用程序執行該異常。
我該如何解決?
嘗試在Arduino中關閉串行監視器。 我們無法建立與單個串行端口的多個連接。
當您在Arduino中打開串行監視器時,它將連接到配置的端口號,因此您無法通過Java代碼訪問該端口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.