通过USB端口发送和接收数据

我想通过USB端口发送/接收数据到设备(从我的Vista电脑)。 有没有一个免费/便宜的图书馆可以做到这一点,这个项目将如何参与(不考虑发送或接收的内容)?

你不指定这里发生了什么。 设备是否已经存在? 它已经是一个USB设备?

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

如果您正在构建设备,那么您可能需要考虑USB到串行适配器(通常不需要特殊的驱动程序)或FTDI之类的东西 – 它们会制作大量易于使用的USB芯片不需要,或与Windows下适当的驱动程序。 我已经在他们的芯片上工作了几次,他们从来没有给我任何麻烦。

libusb-win32也许?

Code项目中的这篇文章可能对您有好的开始。 首先你需要建立你的设备。 您可以使用带有USB端口的微控制器,也可以使用串口至USB的芯片组(如已经建议的FTDI)。

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

  • AVR-USB :在固件中实现USB堆栈。 驱动程序,所有平台的示例。 任何AVR微可以使用。 您可能需要自己构建硬件。
  • 爱特梅尔的USB系列 。 这些是带有USB端口的微控制器。 司机和准备购买成套工具可用。 其他制造商(如Microchip的PIC系列)也有类似的解决方案。

如果不知道你的情况,并假设你在控制设备的USB协议和驱动程序,我会建议使用WinUSB 。

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