我正在使用Qt for C ++开发一个与Arduino Micro通信的软件。
我使用QSerialPortInfo用这种方法显示我的Arduino Micro的一些信息:
for (QSerialPortInfo info : QSerialPortInfo::availablePorts())
{
qDebug() << "Port Name :" << info.portName();
qDebug() << "Description :" << info.description();
qDebug() << "Manufacturer:" << info.manufacturer();
qDebug() << "Vendor ID :" << info.vendorIdentifier();
qDebug() << "Product ID :" << info.productIdentifier();
}
在Windows 10中,这是结果:
端口名称:&#34; COM4&#34;描述:&#34; Arduino Micro&#34;制造商: &#34; Arduino LLC(www.arduino.cc)&#34; 供应商ID:9025产品ID:32823
在Ubuntu 15中:
港口名称:&#34; ttyACM0&#34;描述:&#34; Arduino Micro&#34;制造商: &#34; Arduino LLC&#34; 供应商ID:5549产品编号:1908
为何选择供应商&amp; Manufacter是不同的?我认为ID是关于设备的,所以必须保持相同,独立于平台..我错了?
如果我想检查设备是否是我的设备,我该怎么办?我想与供应商和我做一个简单的检查。产品编号
更新:
我忘了告诉我在Windows10上使用Ubuntu和虚拟机与VMWare(如果它可以改变一些东西)
答案 0 :(得分:3)
您的虚拟机具有虚拟串行端口,虚拟串行端口具有虚拟供应商ID。 5549是十六进制15AD,即VMWare,Inc。