HID USBHIDManager, getReport () и setReport () в среде Mac - PullRequest
0 голосов
/ 18 октября 2011

Мы пытаемся связаться с USB HIDDevice.Это устройство работает нормально в Windows, где мы можем отправить отчет и получить отчет обратно, используя WriteFile() и ReadFile().

На Mac мы пытаемся взаимодействовать с устройством, используя setReoprt() и getReport().Но getReport() возвращает не какие-либо данные, а ошибку.

Что не так в приложении?

1 Ответ

0 голосов
/ 26 октября 2011

Чтобы использовать асинхронное поведение, источник событий, полученный с помощью getAsyncEventSource, должен быть добавлен в цикл выполнения.

Примечание выше являетсякомментарий setReport.Вам, возможно, придется сначала изучить механизм запуска из Runloop в Mac OS.

Поскольку этот механизм объяснить невозможно.Следующие функции и заказы могут помочь вам в кодировании, когда вы познакомитесь с RunLoop . (Попробуйте поискать «CFRunLoop» в Google)

CFRunLoopGetCurrent ();CFRunLoopRun ();CFRunLoopAddSource (CFRunLoopRef rl, источник CFRunLoopSourceRef, режим CFStringRef);CFRunLoopStop (CFRunLoopRef rl); (я обычно вызываю эту функцию в методе обратного вызова)

...