Отправка и получение данных через порт USB - PullRequest
4 голосов
/ 16 февраля 2009

Я хотел бы отправлять / получать данные через USB-порт на устройство (с моего ПК). Существует ли бесплатная / дешевая библиотека, которая может сделать это, и насколько будет вовлечен этот проект (без учета того, что отправляется или получается)?

Ответы [ 4 ]

3 голосов
/ 16 февраля 2009

Вы не указываете, что здесь происходит. Устройство уже существует? Это уже USB-устройство?

Если у вас уже есть USB-устройство, производитель должен помочь.

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

2 голосов
/ 16 февраля 2009

Эта статья в проекте Code может стать хорошим началом для вас. Сначала вам нужно собрать свое устройство. Вы можете использовать микроконтроллер с портом USB или чипсет с последовательным интерфейсом на USB (например, уже предложенный FTDI).

Вы должны избегать написания своего собственного USB-драйвера библиотеки. Статья в CodeProject использует драйвер HDI, который уже присутствует в вашем устройстве. Он использует микроконтроллер PIC, но мой личный фаворит - AVR. С AVR у вас есть следующие опции:

  • AVR-USB : Реализация стека USB в прошивке. Драйвера, примеры для всех платформ. Можно использовать любой AVR micro. Возможно, вам придется собрать оборудование самостоятельно.
  • Семейство USB Atmel . Это микроконтроллеры с USB-портом. Доступны драйверы и готовые комплекты. Другие производители (например, семейство PIC от Microchip) имеют аналогичные решения.
2 голосов
/ 16 февраля 2009

libusb-win32 возможно?

0 голосов
/ 12 января 2014

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

Это намного лучше, чем libusb-win32, потому что он является родной частью Windows и поддерживает асинхронную связь. Кроме того, libusb-win32 поддерживает только API libusb-0.1, который действительно старый.

...