Datenübertragung über USB

Ich versuche, Daten über USB zu senden und zu empfangen, mein Gerät, das Acer Iconia A500 verfügt über alles, was zum Verbinden mit dem Gerät erforderlich ist, und alles, was in Ordnung ist und funktioniert. Wenn ich jedoch versuche, Daten zu senden und zu empfangen, verhält es sich nicht so erwartet. Das ist mein Code

<code>for( ; ; ) { //this is the main loop for transferring   
    String get = "$getPos";
    byte[] getBytes = get.getBytes();
    conn.bulkTransfer( epOUT, getBytes, getBytes.length, 500 );

    try {
        Thread.sleep( 500 );
        byte[] buffer = new byte[4096];
        conn.bulkTransfer( epIN, buffer, 4096, 500 );
        StringBuilder byStr = new StringBuilder();

        for( int i = 0; i < buffer.length; i++ ) {
            if( buffer[i] != 0 ) {
                byStr.append( buffer[i] + ", " );
            }
        }

        l( byStr );
    }
    catch( InterruptedException e ) {
        e.printStackTrace();
    }

    if( mStop ) {
        mStopped = true;
        return;
    }

    l( "sent " + counter );
    counter++;
    counter = (byte)( counter % 16 );
}
</code>

Es soll ein Array von Bytes mit einer Länge von etwa 80 Zeichen zurückgeben, aber es gibt nur zwei Bytes zurück, nämlich 1 und 96. Wenn am Ende des USB-Geräts ein Fehler aufgetreten ist, werden immer noch ein paar mehr als zwei zurückgegeben. Ist mein Code fast richtig? Ich habe es vom USB zum Serienartikel von Serverbox gemacht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage