2016-05-04 3 views
0

Я использую USB4Java для опроса определенного USB-устройства в потоке и сразу же считывания данных, когда они доступны. Проблема, с которой я сталкиваюсь, заключается в том, что нет метода available(), например, для потоков, который проверяет доступное количество байтов в порту для чтения (a la NRSerial для последовательных портов). Есть ли эквивалентный способ сделать это для USB? Если нет, могу ли я просто вызвать функцию чтения и дождаться таймаута? Последнее кажется мне слишком грубым.Опрос USB для данных с использованием USB4Java

ответ

0

Просто нет другого выбора, кроме опроса (по крайней мере, на USB 2.0). Вот как работает чтение на USB-устройстве: хост запрашивает устройство для данных. Устройство должно сохранять данные для отправки на хост в буфере и ждать, пока хост попросит об этом. Только USB 3 предоставляет возможность устройству сообщать хосту, когда новые данные находятся в буфере (хотя это технически это также опрос хоста для флага, который является более легким, чем инициирование передачи чтения).

Смежные вопросы