我正在开发一个需要与 PC 通信的嵌入式设计(MAC/WinXP/Win7/Win8)。
作为产品的一部分,我需要与我的设备来回通信。我希望在 PC 端不为此进行驱动程序开发,并搭载现有的驱动程序之一,例如 Serial 或 HID,只专注于开发 APP。这有意义吗?
另一种方法是开发一个超级简单的轻量级驱动程序,它只适用于用户模式,这样我就不必处理 WHQL 等。
我应该走哪条路?
如果您使用 USB,那么使用 HID 可能是您最好的选择。它支持跨 Windows 并使用收件箱驱动程序(无 WHQL)。您可以使用 hidapi ( http://www.signal11.us/oss/hidapi/ ) 在任何操作系统上与它进行交互。
下一个最佳选择是 libusb(和 libusb-win32 或 WinUSB)。这里的问题是,如果您自定义这些驱动程序,则需要重新认证它们。他们确实通过了所有 WHQL 测试,但需要时间、资源和成本。
串行也是一种可能性,您可以直接通过 RS232 进行通信,或者您可以放置一个 USB 到 UART 桥接器并通过 USB 上的串行进行通信。但由于如今 USB 是一种更广泛使用的技术,因此最好坚持使用 HID 或通用大容量设备。