从 Android 论坛移出
我在这里不知所措。它想将一些串行数据从 arduino 发送到 android,但我发送的不是接收到的。例如,如果我输入 Serial.write(5),在 android 端我得到 48。如果我输入 Serial.write(6),我得到 1。当我发送字符时也会发生同样的问题。如果我发送一个“t”,在 android 上我会得到一个顶部有 2 个点的 T(好像它是来自另一种语言的字符)。??????发生了什么?
阿杜诺
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 接收。
在 android 2.3.7 上运行,其中 min sdk = 8 (android 2.2)