如何在UWP应用程序中访问FTDI USB设备?

时间:2018-01-30 10:12:54

标签: uwp usb ftdi

我正在使用他们managed wrapper for the ftd2xx.dll的FTDI D2XX driver来访问USB设备。当在.NET Framework或.NET Core控制台应用程序中使用包装器时,它将按预期工作。但是,当我在UWP(通用Windows平台)应用程序中使用包装器时,它不会:

GetNumberOfDevices / FT_CreateDeviceInfoList报告正确连接的设备数量。

GetDeviceList / FT_GetDeviceInfoDetail返回空FT_DEVICE_INFO_NODE元素,但flags字段的值为1.根据D2XX Programmer's Guide标记1表示“端口打开了。“

如果我用一个应用程序实例打开设备并尝试用另一个实例访问它,我可以在非UWP应用程序中观察到类似的效果。但是我没有在UWP中打开设备,因为我无法获得所需的设备信息,也不知道如何关闭它。我确定没有其他应用程序正在运行该设备。如果我关闭UWP应用程序并启动非UWP应用程序,它可以正常工作。

我在应用清单中看到相同或不具备以下功能的行为(我正在使用设备的VID和PID的正确值):

  <Capabilities>
    <iot:Capability Name="lowLevelDevices" />
    <DeviceCapability Name="usb">
      <Device Id="vidpid:XXXX XXXX">
        <Function Type="name:vendorSpecific" />
      </Device>
    </DeviceCapability>
  </Capabilities>

此外,在设备管理器中,有时“设备未迁移到部分或模糊匹配”警告USB设备。我将驱动程序更新到最新版本2.12.28,但仍然收到警告。不确定这是否是一个问题,因为驱动程序正在运行非UWP应用程序。

UWP应用程序是否对设备/ USB /驱动程序的使用有任何限制?

提前致谢。

0 个答案:

没有答案