从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