Я использую ОС Linux и задавался вопросом, есть ли какие-либо файловые дескрипторы, которые я мог бы опросить/выбрать, которые будут запускаться, когда данные ожидали, чтобы их читали с устройства USB. Я также использую библиотеку libusb и еще не нашел файловые дескрипторы, которые я могу использовать.libusb и poll/select
ответ
Используйте libusb's polling functions, чтобы связать свои файловые дескрипторы с контуром событий. select
будет просыпаться всякий раз, когда будет выполняться действие libusb, которое включает, но, возможно, не ограничивается данными, доступными для чтения.
Нет, устройства USB не всегда являются «потоковыми» устройствами, поэтому чтение из дескриптора файла не всегда имеет смысл. Однако, если ваше устройство USB предоставляет драйвер последовательного порта, вы можете прослушивать входящие данные на устройстве последовательного порта (как и любой другой последовательный порт, обрабатываемый вашей ОС).
Хорошо, это также применимо с устройствами HID, которые будут отмечать до того, как он отправит эти данные, которые хотите отправить? – Tez
Эти файловые дескрипторы предназначены исключительно для обработки событий, связанных с libusb, и не инициируются фактическими событиями usb. – Tez
@ user2365072: Правильно, но вы можете использовать их для объединения циклов событий. Если вы управляете циклом событий, вы знаете, когда будут вызваны ваши обратные вызовы. – icktoofay
Извините, не могли бы вы объяснить это немного дальше? Я экспериментировал с опросом этих файловых дескрипторов и отправкой данных на устройство, которое, как я знаю, вернет сообщения, но дескрипторы никогда не запускаются. – Tez