gpt4 book ai didi

windows - 如何使自定义 USB 设备在 Windows 中显示为 COM 端口?

转载 作者:可可西里 更新时间:2023-11-01 12:41:24 25 4
gpt4 key购买 nike

我开发了一个 USB 设备,它通过一个简单但专有的接口(interface)和一些自定义 Linux 驱动程序与 Linux 通信。我的目标是在不编写 Windows 驱动程序的情况下将其移植到 Windows。我想做的是为 Windows 找到一个开源或内置的类驱动程序,它看起来像 Windows 中的 COM 端口。然后我会定制嵌入式软件以匹配虚拟 COM 端口期望看到的任何协议(protocol)和描述符。

我的想法是,我可以将我的设备插入 Windows 机器,然后会出现一个相对高速的 COM 端口,而我不必为它开发 Windows 驱动程序。

我一直在查看 USB CDC(通信设备类)文档,它看起来很有前途,但我不知道最好使用哪个子接口(interface),以便它显示为 COM 端口。

这里有没有人做过这样的工作或者可以提供一些见解?具体来说:

  1. Windows 是否“内置”了虚拟 COM 驱动程序,或者我是否需要第三方驱动程序。
  2. 我应该使用哪个 CDC 子类来进行简单的 RS232 仿真(不需要调制解调器 AT 命令等)
  3. 是否有更好的选择来完成我想做的事情。

谢谢

最佳答案

Windows 内置了一个 USB 转串口驱动程序,可以满足您的需求。它被称为 usbser.sys:

http://support.microsoft.com/kb/837637

您必须编写一个 INF 文件并将其分发给您的用户,但这不会太难,因为它只有几千字节的文本,您可以在线找到示例。

我不知道 Microsoft 有关于此驱动程序的任何重要文档,所以我的建议是找到使用它的其他设备,例如 Pololu Wixel , 并复制他们所做的。

以下是我们使用的设备描述符和我们必须实现的特殊控制传输: https://github.com/pololu/wixel-sdk/blob/master/libraries/src/usb_cdc_acm/usb_cdc_acm.c

您可以通过下载软件并查看驱动程序文件夹来查看我们的 INF 文件 wixel_serial.inf: http://www.pololu.com/docs/0J46/3.a(里面还有一些你不需要的文件。)

您还可以查看 Arduino Uno,因为它们使用相同的驱动程序。

无论您做什么,请不要在您的产品中使用我们的 USB 供应商 ID!您需要自己购买。

更新:在 Windows 10 中,您不再需要 INF 文件,因为 Windows 附带了新的 usbser.inf 驱动程序。

关于windows - 如何使自定义 USB 设备在 Windows 中显示为 COM 端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7166052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com