在Windows运行时8.1中连接到FT232R USB UART设备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Windows运行时8.1中连接到FT232R USB UART设备相关的知识,希望对你有一定的参考价值。

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

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

我尝试了this approach,但在我的情况下,ClassCode和SubClassCodde分别是0x00,InterfaceClassCode和InterfaceSubClassCode都是0xFF。所有这些数据来自USB view utility

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

没有选择器,设备被找到,但我在null收到UsbDevice.FromIdAsync(serviceInfo.Id)

我也尝试过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

对串行控制器也这样做:

enter image description here

然后如here所述禁用Windows自动驱动程序安装。

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

enter image description 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

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

如果你需要它,这是a link to API guide。它还解释了如何安装正确的FTDI驱动程序。

以上是关于在Windows运行时8.1中连接到FT232R USB UART设备的主要内容,如果未能解决你的问题,请参考以下文章

Windows 8.1 服务无法连接到 SQL Server 数据库

如何在 Windows 上的 Python 3 中连接到 MySQL?

在 javascript 中连接到 mongoose 数据库时出错

在 Ubuntu 中连接到远程调试器时超时

如何在 QT 或 windows API 中连接到无线 WIFI 网络? [关闭]

在 DNN 中连接到数据库失败