Как использовать порт USB / HID с target-c в среде Mac? - PullRequest
3 голосов
/ 03 декабря 2009

У меня большие проблемы при связи через USB, от Mac до внешнего устройства HID. Аппаратное обеспечение отлично работает при работе на платформе Windows XP, но я не могу найти ХОРОШИЙ пример программирования HID с помощью Cocoa / target-C. В центре Apple имеется несколько примеров, но они либо плохо документированы, либо слишком сложны (с точки зрения программного обеспечения со смешанными целями C и C, что затрудняет понимание файла), либо не обновлены. Ну, я должен сказать, что я больше инженер-электронщик, чем специалист по программному обеспечению! До сих пор я мог перечислять порт USB, идентифицировать свое устройство, используя инструменты HID Apple (я читаю PID и VID), но мне с треском не удается отправить отчет и / или прочитать отчет с внешнего устройства. Я был бы очень признателен, если бы кто-то из вас использовал новый HID API от Apple и мог бы поделиться некоторыми ноу-хау. С другой стороны, есть ли какой-нибудь инструмент «USB-шпион», работающий с Apple OSX? Большое спасибо за вашу помощь

Michael

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

Так что да, вам придется нырнуть и написать C, а не Objective-C, чтобы делать свое дело.

К счастью, есть дополнительный ресурс Apple, который значительно облегчает работу диспетчера USB / HID.

См. Образец библиотеки HID / Библиотека от Apple

1 голос
/ 04 декабря 2009

Вы не найдете интерфейс Objective-C для HID. По крайней мере, не более, чем обертка. Из-за динамического связывания и отложенного обмена сообщениями Objective-c плохо подходит для программирования зависящих от времени задач, таких как драйверы устройств, или для связи с ними. Тебе придется работать в C.

Ресурсы Apple: Доступ к оборудованию из приложений , руководство по интерфейсу устройства класса HID станут вашими лучшими ресурсами. Эта техническая заметка также предлагает хороший обзор.

Профилировщик Apple System просканирует вашу цепочку USB, чтобы увидеть, какие устройства видны для самого оборудования.

Edit01:

Не могу поверить, что я забыл о /Developer/Applications/Utilities/IORegistryExplorer. Это дает вам подробную разбивку всего дерева оборудования.

...