我正在编写一个UWP移动应用程序,它连接到多个串行端口以进行数据记录。我在应用程序中使用以下代码来查找和连接串行端口:
string deviceId = "";
foreach (var device in _devices)
{
if ((device.Name).Equals(portName))
{
deviceId = device.Id;
System.Diagnostics.Debug.WriteLine(" Serial port ID: " + deviceId);
}
}
_serialPort = await SerialDevice.FromIdAsync(deviceId);
if (_serialPort != null)
{ //... setup serial port stuff
我正在测试的设备有一个内置串口 - 连接并正常工作,一个usb到串口适配器。适配器连接并与teraterm一起使用,但 SerialDevice.FromIdAsync 在按ID搜索端口时始终返回null。 我的package.appmanifest中包含以下内容:
<Capabilities>
<DeviceCapability Name="serialcommunication">
<Device Id="any">
<Function Type="name:serialPort" />
</Device>
</DeviceCapability>
代码在连接到同一适配器的桌面上正常运行,但在移动设备上失败。 有什么我想念的吗?这很可能是驱动程序问题,还是连接到移动设备上的USB转串口适配器所需的不同方法?
感谢您的帮助!