1

取得しています

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からの読み取りはできません。許可も適切に取得されます

また、Arduino用の最新のADKライブラリはどこから入手できますか?一部のライブラリはacc.powerOn()が必要ですが、一部のライブラリは起動するためにacc.begin()が必要です。どちらが最新ですか?

コードを変更せずに1回だけ動作させましたが、その後は1回だけです:(

4

1 に答える 1

0

エラー メッセージは、デバイスが接続されていないことを意味します。あなたのアプリの他の部分または別のアプリのコードが、同じアクセサリに接続しようとしていると思われます。

Arduino ADK ボードまたは Arduino + USB Host Shield を使用している場合は、https://github.com/felis/USB_Host_Shield_2.0から最新のライブラリを入手できます。

于 2012-11-26T05:06:36.813 に答える