SerialDevice.FrimIdAsync仅为某些设备返回NULL

时间:2016-12-10 08:30:26

标签: c# serial-port uwp

我正在编写一个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转串口适配器所需的不同方法?

感谢您的帮助!

0 个答案:

没有答案