의 USB 하드웨어 위치 및 그 포트 중 하나에 연결되는 마이크로 컨트롤러를 찾기.QSerialPortInfo : I는 USB 허브 칩이 가상 직렬 포트
나는 열거하고 QSerialPortInfo/QSerialPort와 마이크로 컨트롤러와 통신 할 수 있어요. 제 문제는 일반 USB 장치가 마이크로 컨트롤러와 동일한 USB 허브에 연결되어 있는지 여부입니다.
"Port_ # 0001.Hub_ # 0010"과 같이 일반적인 USB 장치의 하드웨어 위치를 쉽게 알 수 있으므로 Hub_ # 번호가 마이크로 컨트롤러가 연결된 위치와 동일하면 알 수 있습니다. 연결되어있는 허브와 같은 것입니다.
문제는 QSerialPortInfo.systemLocation()가 와 반환 "\. \ COM31는" 문자열, 그리고는 "Port_ # 0002.Hub_ 번호 0010"같이가 someting 것입니다.
어떻게 QSerialPortInfo/QSerialPort 속한 않는 어떤 USB 하드웨어 경로를 구할 수 있습니까?
추가 정보 :
QSerialPortInfo 반환 C++ 11
윈도우 7, Qt는 5.3 정보 : 죄송합니다 (: Windows 장치 관리자가 올바르게 실제 USB를 보여줍니다
QSerialPortInfo.portName() == "COM31"
QSerialPortInfo.description() == "LPC USB VCom Port"
QSerialPortInfo.serialNumber() == "" // (Empty string)
동안) 아직 이미지를 게시 할 수 없습니다
DeviceManager> 포트 (COM & LPT)> LPC U SB VCOM 포트 (COM31)
속성> 일반> 위치 :
0010이 어떻게 내 Qt는 코드에서이 정보에 액세스 할 수 Port_ # 0002.Hub_ 번호? 내가 때까지 속성을 가져올 WINAPI 내가 다음 SetupDiGetDeviceRegistryProperty으로, 특정 GUID에 대한 모든 장치를 얻을 수있는 SetupDiGetClassDevs에게 윈도우 API 호출을 사용 :
젠장! 나는 리눅스에 이식 할 수있는 무엇인가를 원했다 :-(필자는 USB와 "보통"의 시리얼 장치를 구별하고자하는 유사한 문제가있다. –