gpt4 book ai didi

c# - 在 Windows Runtime 8.1 中连接到 FT232R USB UART 设备

转载 作者:行者123 更新时间:2023-11-30 23:30:08 32 4
gpt4 key购买 nike

我正在尝试使用适用于 Windows 应用商店应用程序的 Windows 运行时组件连接到 FT232R USB UART 设备。不幸的是,似乎没有任何效果。

我的设备有一个 vid 为 0x0403 和一个 pid 0x6001,这对于这种类型的设备来说似乎很标准。

我试过了 this approach但在我的例子中,ClassCode 和 SubClassCodde 分别都是 0x00,InterfaceClassCode 和 InterfaceSubClassCode 都是 0xFF。所有这些数据都来自 USB view utility .

使用基于这些类和子类代码的选择器,DeviceInformation.FindAllAsync(selector) 未找到任何设备。此外,基于 vid 和 pid 创建的选择器未找到任何设备。

在没有选择器的情况下,设备已找到,但我在 UsbDevice.FromIdAsync(serviceInfo.Id) 中收到 null

我还尝试了 FTDI 方法。我下载了 FTDI 驱动程序并引用了 FTDI.D2xx.WinRT.winmdFTDI.D2xx.WinRT.USB.winmd。我使用了 this PDF 中记录的方法但是 FTDI.D2xx.WinRT.FTManager.GetDeviceList() 返回空列表。

根据我找到的文档,DeviceCapabilities 的定义是正确的:

<Capabilities>
<m2:DeviceCapability Name="usb">
<!--FT232AM, FT232BM, FT232R and FT245R Devices-->
<m2:Device Id="vidpid:0403 6001">
<m2:Function Type="name:vendorSpecific" />
</m2:Device>
</m2:DeviceCapability>
</Capabilities>

我做错了什么?

最佳答案

好吧,经过长时间的斗争,我找到了解决方案。将它张贴在这里以防将来有人需要它。

首先,您应该按照官方 FTDI 指南安装 FTDI drivers from here .

您需要删除 Windows 为您的设备安装的默认驱动程序。

Uninstalling default drivers

这样做:

enter image description here

选中“删除此设备的驱动程序软件”复选框很重要。

enter image description here

对串行 Controller 也这样做:

enter image description here

然后按照所述禁用 Windows 自动驱动程序安装 here .

然后在设备管理器中扫描硬件更改,您将看到无法识别的设备。

enter image description here

手动安装它的驱动程序。

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

之后,您会在通用串行总线设备而非 Controller 下看到您的设备。

enter image description here

现在您的设备将可以使用 FTDI API 完全访问。

这里是 a link to API guide以防万一。它还解释了如何安装正确的 FTDI 驱动程序。

关于c# - 在 Windows Runtime 8.1 中连接到 FT232R USB UART 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35067818/

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