2009-02-16 14 views
3

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

+0

какой тип устройства? Какова ваша платформа разработки? –

ответ

3

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

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

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

2

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

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

  • AVR-USB: Реализует USB-накопитель в прошивке. Драйверы, примеры для всех платформ. Любой микроконтроллер AVR можно использовать. Возможно, вам придется самостоятельно создавать оборудование.
  • Atmel's USB family. Это микроконтроллеры с USB-портом. Доступны драйверы и готовые к покупке комплекты. Аналогичные решения имеют другие производители (такие как семейство микросхем Microchip).
0

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

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

Смежные вопросы