Przesyłanie danych USB

Próbuję wysyłać i odbierać dane przez USB, moje urządzenie, Acer Iconia A500 ma wszystko, co potrzebne do połączenia z urządzeniem i wszystkim, co jest w porządku i działa poprawnie, ale kiedy próbuję wysyłać i odbierać dane, nie zachowuje się tak spodziewany. To jest mój kod

<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>

Jego przeznaczeniem jest zwrócenie tablicy bajtów o długości około 80 znaków, ale zwraca ona tylko dwa bajty z powrotem, czyli 1 i 96, jeśli wystąpił błąd na urządzeniu USB, to nadal zwraca kilka więcej niż dwa. Czy mój kod jest jeszcze bliski poprawienia? Oparłem go o USB na seryjnym artykule przez serverbox.

questionAnswers(1)

yourAnswerToTheQuestion