2013-12-25 5 views
0

Я пытаюсь написать программное обеспечение, которое может управлять подключенными устройствами USB 3.0 (что-то вроде открытия файла на каждом устройстве в несколько раз).Хорошее начало или базовое обучение программированию на USB

Однако у меня почти нет программирования программирования на USB, кто-нибудь может предложить направление или хорошее начало для программирования USB? Как пример некоторого программирования USB?

Предпочитает C++.

Заранее спасибо. Извините, если я задам вопрос noob.

ответ

1

Jan Axelson's USB Complete - это то, что я узнал, и как я тренирую всех, с кем я работаю на USB. В книге объясняется USB вообще (со стороны устройства и хоста), перечисление, конечные точки, устройства класса и форматы запросов. Это замечательно и легко, читать. Я бы начал здесь - вам нужно все это знать.

В зависимости от того, что вы пытаетесь сделать, будет диктовать код примера, который вам нужно использовать. Но WinUSB, libusb и HID, вероятно, будут API-интерфейсами, которые вы будете использовать - базовые гиперссылки предоставляют документацию по каждому из них.

+0

Привет ... Это же программирование на обоих USB 2.0 и 3.0 ?? –

+0

В пользовательском режиме не должно быть разницы. Существует понятие «потоки» для конечной точки для 3.0 SuperSpeed, о которой я не думаю, что любой из этих API-интерфейсов поддерживает, но это не должно быть и выдаваться, если вы не пытаетесь это реализовать. Драйверы режима ядра будут отличаться для базового оборудования, а аппаратное/прошивка для устройства будет отличаться для обработки SuperSpeed. – Preston

+0

Итак, если мы хотим использовать новую функцию в USB 3.0, например, «Сообщение устройства (DEV_NOTIFICATION) Transaction « Пакет », нам нужно заново создать драйвер для него? –

1

Вы также должны проверить «www.usb.org/developers», который является официальным сайтом для последней документации, связанной с usb, и другой информацией, включая, но не ограничиваясь, полезными инструментами, которые могут быть использованы во время разработки.

В левом меню у вас есть элемент «Документы», который приведет вас к последней документации новейших и более старых версий. Просто помните, что эти документы написаны инженерами для инженеров и могут быть трудными для выполнения, но их свободно доступны для всех.