USB驱动策略

USB驱动策略,usb,driver,Usb,Driver,我正在开发一种嵌入式设计,需要与PC(MAC/WinXP/Win7/Win8)进行通信 作为产品的一部分,我需要与我的设备来回通信。我希望在PC端不进行驱动程序开发,而是在现有驱动程序的基础上进行开发,比如串行或HID,然后专注于开发应用程序。这有意义吗 另一种方法是开发一个超级简单的轻量级驱动程序,它只在用户模式下工作,这样我就不必处理WHQL等问题 我应该走哪条路?如果您使用USB,那么使用HID可能是您最好的选择。它具有跨Windows的支持,并使用收件箱驱动程序(无WHQL)。您可以使用

我正在开发一种嵌入式设计,需要与PC(MAC/WinXP/Win7/Win8)进行通信

作为产品的一部分,我需要与我的设备来回通信。我希望在PC端不进行驱动程序开发,而是在现有驱动程序的基础上进行开发,比如串行或HID,然后专注于开发应用程序。这有意义吗

另一种方法是开发一个超级简单的轻量级驱动程序,它只在用户模式下工作,这样我就不必处理WHQL等问题


我应该走哪条路?

如果您使用USB,那么使用HID可能是您最好的选择。它具有跨Windows的支持,并使用收件箱驱动程序(无WHQL)。您可以使用hidapi()在任何操作系统上与它进行接口

下一个最佳选择是libusb(以及libusb-win32或WinUSB)。这里的问题是,如果您自定义这些驱动程序,则需要对其进行重新认证。他们确实通过了所有WHQL测试,但这需要时间、资源和成本


串行也是一种可能性,您可以直接通过RS232进行通信,或者您可以将USB连接到UART桥接器,并通过USB串行通信。但是,由于USB是目前应用更广泛的技术,因此最好还是使用HID或通用批量设备。

如果您使用USB,那么使用HID可能是您的最佳选择。它具有跨Windows的支持,并使用收件箱驱动程序(无WHQL)。您可以使用hidapi()在任何操作系统上与它进行接口

下一个最佳选择是libusb(以及libusb-win32或WinUSB)。这里的问题是,如果您自定义这些驱动程序,则需要对其进行重新认证。他们确实通过了所有WHQL测试,但这需要时间、资源和成本

串行也是一种可能性,您可以直接通过RS232进行通信,或者您可以将USB连接到UART桥接器,并通过USB串行通信。但由于USB是目前应用更广泛的技术,所以最好还是使用HID或通用的批量设备