Я пытаюсь подключиться к USB-устройству UART FT232R с помощью компонента среды выполнения Windows для приложения Магазина Windows. К сожалению, похоже, ничего не работает.
Мое устройство имеет видео 0x0403 и pid 0x6001, которые кажутся довольно стандартными для этого типа устройств.
Я попробовал этот подход но в моем случае ClassCode и SubClassCodde оба равны 0x00 соответственно, а InterfaceClassCode и InterfaceSubClassCode оба равны 0xFF. Все эти данные поступают из утилиты просмотра USB.
Используя селектор на основе этих кодов классов и подклассов, DeviceInformation.FindAllAsync(selector)
не находит устройство. Также селектор, созданный на основе vid и pid, не находит ни одного устройства.
Без селектора устройство найдено, но я получаю null
в UsbDevice.FromIdAsync(serviceInfo.Id)
.
Я также попробовал подход FTDI. Я скачал драйверы FTDI и сослался на FTDI.D2xx.WinRT.winmd
и FTDI.D2xx.WinRT.USB.winmd
. Я использовал подход, описанный в этом 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>
Что я делаю не так?