0
我有兩個USB接收器連接到樹莓pi3(Windows IOT核心)條形碼掃描儀。C#SerialDevice沒有端口信息(樹莓派3)
我可以連接到它們並列出USB虛擬COM設備並連接到它們並接收數據。但是我無法區分這兩者,ID是相同的,系統沒有提供端口號。
當我調用Current.portnumber.ToString()時,該字符串爲空。
我希望將每個設備分配給一個人,並讓他們掃描一個條形碼作爲他們的用戶名,並希望顯示哪個掃描儀與哪個人相關聯(如Com5 = Bill Com6 = Dave),但只是可以「T找到每個虛擬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;
}
}
你可以將這些插入桌面計算機,並用「USB視圖」查看USB描述符?在你展示的兩個字符串之間通用的部分之一,我相信應該是唯一的USB序列號。但並非所有制造商都能正確序列化他們的設備......如果您發現兩臺設備上的序列號相同,那麼請讓世界其他地方爲之傾倒,並向USB實施者論壇報告違反USB標準的情況。序列號是可選的,但如果提供,它們應該是唯一的。 –