從Android論壇移動Android通訊,什麼是發送不是什麼收到
林在這裏我很茫然。它想從arduino發送一些串行數據到android,但我發送的不是接收到的。例如,如果我把Serial.write(5),在android端我得到48.如果我把Serial.write(6)我得到1.同樣的問題發生時,我發送字符。如果我發送一個't',在android上,我會得到一個頂部有2個點的T(就好像它是來自另一種語言的一個字符)。 ???????發生了什麼?
的Arduino
int count = 5;
const unsigned int BAUD_RATE = 115200;
void setup() {
Serial.begin(BAUD_RATE);
delay(10000);
}
void loop() {
//Serial.print(count, DEC);
//Serial.print(count, HEX);
Serial.print(count, OCT);
//Serial.println(count, BIN);
//Serial.write(temp);
//Serial.write("t");
Serial.write(count);
count++;
delay(2000);
}
的Android RFCOMM:UUID.fromString( 「00001101-0000-1000-8000-00805F9B34FB」));
byte[] buffer = new byte[255];
Handler myHandler1 = new Handler();
Runnable receiveValues = new Runnable() {
public void run() {
try {
while (connected) {
while (in.available() > 0) {
Log.v("Note",
"For value: " + String.valueOf(in.read(buffer)));
for (int x = 0; x < buffer.length; x++)
Log.v("Note", "A " + buffer[x]);
}
Thread.sleep(50);
}
} catch (Exception e) {
connected = false;
e.printStackTrace();
}
}
};
時間是正確的,每兩秒鐘發送一些東西,但我仍然得到了錯誤的值。正如你所看到的,我嘗試了其他的方式來寫入到arduino上的串口,但它們都沒有工作。另一件事,行結束時(當我做Serial.println())在Android上始終接收爲0。
運行在機器人2.3.7其中min SDK = 8(機器人2.2)
您確定波特率。奇偶校驗和停止位匹配?你看到的垃圾是典型的不匹配。 – Despatcher
是的,波特率是正確的,但整數不是(見我的答案)。感謝您的評論,它讓我朝着正確的方向發展。 – user41629