C++ программирование USB

Я плохо знаком с аппаратным программированием (особенно USB), поэтому терпите меня и мои вопросы. Я использую C++, и я должен отправить/получить некоторые данные (массив байтов) к/от USB-порту на плате микропроцессора.

Теперь, я сделал некоторый последовательный порт, программируя прежде, и я знаю, что для последовательного порта необходимо открыть порт, установите, выполните i/o и наконец закройте порт. Я предполагаю для использования USB-порта, это не столь просто как что я упомянул выше.

Я действительно знаю, что хочу использовать драйверы стандарта Microsoft и реализовать стандартные команды Windows IO для выполнения этого, так как я полагаю, что нет никаких драйверов для управления микропроцессора по мне для взаимодействия с.

Если кто-то может указать на меня в правильном направлении относительно шагов, должен был "говорить" с USB-портом (открытый, установка, i/o) через стандартные команды Windows IO, я буду действительно и значительно ценить его. Огромное спасибо!!

22
задан JB_SO 12 May 2010 в 23:39
поделиться

4 ответа

Под аппаратным программированием вы имеете в виду, что будете программировать микроконтроллер? Если это так, то вы не сможете использовать «стандартные драйверы Windows» или что-то в этом роде.

Стандарт USB очень толстый. Посмотрите здесь

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

2
ответ дан 29 November 2019 в 05:26
поделиться

Что за микропроцессор и какая плата?

Многие процессоры поддерживают порты USB. Кроме того, некоторые аппаратные платы поставляются с контроллерами USB.

Например, процессор, который использует мой магазин, поставляется с двумя USB-контроллерами, которые могут действовать как концентратор или как устройство. Мы даже добавляем еще один процессор, который будет работать как USB-контроллер.

1
ответ дан 29 November 2019 в 05:26
поделиться

Коротко о USB - отличный фон для чтения.

Для обычного USB-модуля попробуйте LibUSB , который включает несколько примеров взаимодействия со стандартными устройствами. LibUSB-Win32 - это порт этой библиотеки для Windows.

Вы правы, это нигде рядом с не так просто, как порт RS232.

Какой микропроцессор вы используете? Поставляется ли он с каким-либо USB-оборудованием, или вы думаете о том, чтобы попытаться реализовать все это программно (я бы не рекомендовал даже задуматься о !). Многие микропроцессоры поставляются с образцами кода, которые могут эмулировать простые USB-устройства HID, такие как клавиатуры / мыши и т. Д., Которые вы можете использовать в качестве отправной точки. В противном случае, вероятно, есть несколько готовых вариантов , которые избавят вас от многих головных болей: -)

17
ответ дан 29 November 2019 в 05:26
поделиться

Узнайте, какой USB-чипсет используется на микропроцессорной плате, например, Ftdi, Cypress и т. д. Эти производители поставляют драйверы, библиотеки и примеры программ для компов, это самый простой способ.

Стандартных драйверов как таковых не существует, если только ваша плата не настроена как HID-устройство, однако если вы используете Windows, Microsoft поставляет WinUSB.sys "общий" драйвер, который может соответствовать или не соответствовать вашим потребностям (он не поддерживает изохронные передачи).

4
ответ дан 29 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: