English 中文(简体)
通过USB端口发送和接收数据 [已关闭]
原标题:
  • 时间:2009-02-16 05:27:17
  •  标签:

我们不允许寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便用事实和引用回答。

Closed 12 months ago.

我想通过USB端口与设备(来自我的Vista电脑)发送/接收数据。是否有免费/便宜的库可以实现这一点,这个项目会有多大复杂度(不考虑发送或接收的内容)?

问题回答

你没有明确说明这里正在发生什么。这个设备已经存在吗?它已经是一个USB设备了吗?

如果您已经有一个USB设备,那么制造商应该能够提供帮助。

如果您正在构建设备,那么您可能想查看USB串口适配器之类的东西(通常不需要任何特殊驱动程序),或者来自FTDI的东西-他们制造了许多易于使用的USB芯片,这些芯片通常不需要或带有适当的Windows驱动程序。我已经在几个场合使用过他们的芯片,从未给我造成任何麻烦。

或许是libusb-win32

这篇 Code project 中的文章可能是你的好起点。首先,你需要构建你的设备。你可以使用一个带有 USB 端口的微控制器,或者你可以使用串口到 USB 芯片组(如已建议的 FTDI)。

你应该避免编写自己的USB库驱动程序。CodeProject 中的文章使用了HDI驱动程序,该驱动程序已经存在于您的设备中。它使用了PIC微控制器,但我个人喜欢的是AVR。使用AVR,您有以下选项:

  • AVR-USB: Implements USB stack in firmware. Drivers, examples for all platforms. Any AVR micro can be used. You may need to build the hardware yourself.
  • Atmel s USB family. These are microcontrollers with USB port. Drivers and ready to buy kits are available. Other manufacturers (like Microchip s PIC family) have similar solutions.

假设您掌控设备的 USB 协议及驱动,而不知道您的情况其他细节,我建议用 WinUSB。

它比libusb-win32好得多,因为它是Windows的本地部分,支持异步通信。此外,libusb-win32仅支持非常古老的libusb-0.1 API。





相关问题
热门标签