我正在尝试写入Arduino Uno设备,但是SerialDevice.FromIdAsync始终返回null。这是我的代码:
DeviceInformationCollection devices = await DeviceInformation.FindAllAsync();
foreach (DeviceInformation deviceInfo in devices)
{
if (deviceInfo.Name.IndexOf("Arduino") >= 0) {
Debug.Log("Arduino found with id="+deviceInfo.Id);
serialDevice = await SerialDevice.FromIdAsync(deviceInfo.Id);
if (serialDevice == null) Debug.Log("it's null");
break;
}
}
运行此代码使我“找到具有id = \\?USB#VID_2341&PID_0001#55 ....的Arduino,然后显示“它为空”]
据我所知,我具有以下内部能力:
<DeviceCapability Name="serialcommunication">
<Device Id="any">
<Function Type="name:serialPort" />
</Device>
</DeviceCapability>
使用UWP连接到Arduino
为了获取SerialDevice
,我们建议使用SerialDevice.GetDeviceSelector()
获得deviceSelector
,并使用以下内容创建SerialDevice观察程序。并且我们提供了code sample,您可以直接参考。我已经测试过,该应用程序可以列出USB \ VID_2341&PID_0043 \ xxxxx设备ID的Arduino Uno设备。
var deviceWatcher = DeviceInformation.CreateWatcher(deviceSelector);