如何在UWP中获取可用的串口?

Dis*_*ant 4 c# window uwp

我正在寻找可以获取 UWP 应用程序中的串行端口列表的 API。由于 System.IO.Ports 不适用于 UWP,您能否建议以下代码的任何替代方案。

string[] ports = SerialPort.GetPortNames();
Run Code Online (Sandbox Code Playgroud)

Par*_*ami 5

首先将此项目添加到您的 ptoject 中的Package.appxmanifest中,为此,右键单击 Package.appxmanifest 并选择“在功能标签中查看代码”

 <DeviceCapability Name="serialCommunication">
  <Device Id="any">
    <Function Type="name:serialPort" />
  </Device>
</DeviceCapability>
Run Code Online (Sandbox Code Playgroud)

之后,将所有串行设备连接到您的电脑并检查PortName

string aqs = SerialDevice.GetDeviceSelector();
var deviceCollection = await DeviceInformation.FindAllAsync(aqs);
List<string> portNamesList = new List<string>();
foreach (var item in deviceCollection)
{
     var serialDevice = await SerialDevice.FromIdAsync(item.Id);
     var portName = serialDevice.PortName;
     portNamesList.Add(portName);
}
Run Code Online (Sandbox Code Playgroud)