1
我遇到了一些與arduino有關的問題。在課堂上,我們正在學習arduino/java通信。因此,我們被要求解釋從arduino發送的字節,並在eclipse的控制檯中寫出它,因爲消息的「關鍵」告訴我們寫入它的任何類型。嘗試使用eclipse從Arduino中讀取時獲取不完整的消息?
截至目前,我只是測試輸入流,但我似乎無法得到一個完整的消息。這是我在做什麼:
public void run() throws SerialPortException {
while (true) {
if (port.available()) { //code written in another class, referenced below
byte byteArray[] = port.readByte(); //also code written in another class, referenced below
char magicNum = (char) byteArray[0];
String outputString = null;
for (int i = 0; i < byteArray.length; ++i) {
char nextChar = (char) byteArray[i];
outputString += Character.toString(nextChar);
}
System.out.println(outputString);
}
}
}
下面
是來自在上面的代碼中使用的其它類的代碼
public boolean available() throws SerialPortException {
if (port.getInputBufferBytesCount() == 0) {
return false;
}
return true;
}
public byte[] readByte() throws SerialPortException {
boolean debug= true;
byte bytesRead[] = port.readBytes();
if (debug) {
System.out.println("[0x" + String.format("%02x", bytesRead[0]) + "]");
}
return bytesRead;
}
我忘了提及,我從arduino接口輸入的輸入流是「這是一個測試」,我得到的輸出如「nullthis是a」和「nulla test」或者只是「null」 – Harrison