Я пытаюсь отправить и получить данные через USB, мое устройство, Acer Iconia A500 имеет все необходимое для подключения к устройству и всему, что хорошо и работает нормально, но когда я пытаюсь отправлять и получать данные он не ведет себя так, как ожидалось. Это мой кодПередача данных USB
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);
}
Его означал вернуть массив байт длиной около 80 символов, но он возвращает только два байта назад, которые являются 1 и 96, если произошла ошибка на USB-устройствах, в конечном он все равно вернется еще несколько. Является ли мой код даже близким к правильному? Я основывал его на USB-файле на серийной статье по серверу.
Огромное спасибо –
Без проблем. Некоторое время назад я сделал это. – FabianCook
Можете ли вы включить свои заявления об импорте? – rolls