C#SerialDevice没有端口信息(Raspberry Pi 3)

时间:2017-09-07 13:42:49

标签: c# raspberry-pi3 windows-iot-core-10

我有两个USB接收器,用于连接到覆盆子pi3(Windows IOT核心)的条形码扫描器。

我可以连接到它们并列出USB虚拟COM设备并连接到它们并接收数据。但我无法区分这两者,ID是相同的,系统没有提供端口号。

当我调用Current.portnumber.ToString()时,字符串为空。

我希望将每个设备分配给一个人并让他们扫描条形码以获取用户名,并希望显示哪个扫描仪与哪个人相关联(例如Com5 = Bill Com6 = Dave)但是可以'找到每个虚拟com的唯一标识符

private async void ListAvailablePorts()
        {
            try
            {
                string aqs = SerialDevice.GetDeviceSelector();
                var infos = await DeviceInformation.FindAllAsync(aqs);

                foreach (var info in infos)
                {
                    var serialDevice = await SerialDevice.FromIdAsync(info.Id);
                    DeviceInformation Current = info as DeviceInformation;
                    if (serialDevice != null && Current.Name == "USB Virtual COM")
                    {
                        listOfDevices.Add(Current);
                        ComList.Items.Add(Current.Name.ToString());
                    }
                }

                DeviceList.ItemsSource = listOfDevices;

                ComList.SelectedIndex = -1;
                DeviceList.SelectedIndex = -1;
            }
            catch (Exception ex)
            {
                txtUser.Text = ex.Message;
            }
        }

1 个答案:

答案 0 :(得分:0)

经过仔细审查后,我发现86字符串中的单个数字的ID字段不同。

\\ \ USB#VID_0416&安培; PID_5011#5和; 3753427a&安培0安培;的 5 #{86e0d1e0-8089-11d0-9ce4-08003e301f73}

VS

\\ \ USB#VID_0416&安培; PID_5011#5和; 3753427a&安培0安培;的 2 #{86e0d1e0-8089-11d0-9ce4-08003e301f73}

由于