java.io.IOException:写入失败:从JellyBean设备将数据写入arduino时的ENODEV

时间:2012-11-25 11:56:30

标签: android usb arduino adk

我得到了

E/xx( 5508): java.io.IOException: write failed: ENODEV (No such device)
E/xxx( 5508):   at libcore.io.IoBridge.write(IoBridge.java:462)
E/xxx( 5508):   at java.io.FileOutputStream.write(FileOutputStream.java:187)
E/xxx( 5508):   at java.io.OutputStream.write(OutputStream.java:82)

从我的软糖豆设备向Arduino写入(通过USB)数据时。 Android中用于编写的代码是

try {
           String buff = new String(v.getText().toString());
           buff += '\0';
           mOutputStream.write(buff.getBytes());
} catch (IOException e) {
           Log.e(TAG, "write failed", e);
}

和阅读arduino的代码是

  while (Serial.available()) {
    char inChar = (char)Serial.read(); 
    inputStringFromSerial += inChar;
    if (inChar == 0xd) { // inchar == '\n'
      stringComplete = true;
    } 
  }

即使我的Android可以自动检测配件并自动启动我的应用程序,我也无法写入或读取Arduino。也可以正确获得许可

另外我从哪里获得Arduino的最新ADK库?有些图书馆需要acc.powerOn()而有些需要acc.begin()才能启动。哪一个最新?

我在没有任何代码更改的情况下只使用了一次。但只有一次,之后没有:(

1 个答案:

答案 0 :(得分:0)

错误消息表示设备已不再连接。我怀疑你应用程序的其他部分或其他应用程序中的某些代码,它们也试图连接到同一个附件。

如果您使用的是Arduino ADK板或Arduino + USB Host Shield,那么您可以从https://github.com/felis/USB_Host_Shield_2.0获取最新的库