Usbhidmanager Hid, getReport () и setReport () в среде Mac
-
25-10-2019 - |
Вопрос
Мы пытаемся общаться с USB Hiddevice. Это устройство работает нормально в Windows, где мы можем отправить отчет и вернуть отчет, используя WriteFile()
а также ReadFile()
.
На Mac мы пытаемся взаимодействовать с устройством, используя setReoprt()
а также getReport()
. Анкет Но getReport()
не возвращает никаких данных, а ошибки.
Что не так в приложении?
Решение
Чтобы использовать асинхронное поведение, источник события, полученный с использованием getAsynceventsource, должен быть добавлен в цикл пробега.
Приведенная выше нота является частью комментария SetReport. Возможно, вам нужно сначала изучить механизм Runloop Runloop в Mac OS.
Так как здесь невозможно объяснить механизм. Следующие функции и заказы могут помочь вам кодировать, когда вы познакомьтесь с Runloop. (Попробуйте найти «cfrunloop» в Google)
CfrunloopgetCurrent ();
Cfrunlooprun ();
Cfrunloopaddsource (cfrunloopref RL, Cfrunloopsourceref Source, Cfstringref Mode);
Cfrunloopstop (cfrunloopref rl); (я обычно вызываю эту функцию в методе обратного вызова)