我按照本教程开始使用带有 Arduino 板的 Android 主机 API。我正在使用 Arduino Uno。我能够传输数据并打开 Arduino 板上的 LED,并且可以接收来自 Arduino 板的反馈。我正在尝试通过 Arduino 板的 USB 连接向我的 Android 设备写入数据,如下所示:
Serial.print("Test");
我在 Android 端接收 Arduino 数据,如下所示:
byte[] buffer = new byte[10];
int bytes;
//try-catch statements omitted for simplicity
bytes = mUsbConnection.bulkTransfer(mUsbEndpointIn, buffer, buffer.length, 0);
每隔一段时间,数据都会完好无损,但通常情况下,我从 Arduino 收到的是来自我原始消息(t、e、s 和 t)的那些字母的乱码组合。很多时候只显示 1 或 2 个字母。如果有人能指出我正确的方向或分享一些类似的经验,我将不胜感激。谢谢。
编辑
当我将数据打印到 Logcat 中时,有多个数据副本。例如,如果我从 Arduino 收到“ste”,它将在 Logcat 中打印 2-5 次。