arduino mega와 FTDI 기반 USB to RS485 어댑터를 사용하는 프로그램을 작성하려고합니다.USB 어댑터의 COM 포트 번호를 얻으십시오
나는 프로그램을 사용자에게 친숙하게 만들고 싶다. 따라서 사용자가 직접 com 포트 번호를 확인하지 않아도되지만 자동 검색하려고한다. 나는 USB 직렬 아두 이노 (일치 description.Contains("Arduino")
)의 포트가 아닌 USB의 RS485 포트의 COM 포트를 찾을 수 있습니다 여기 왜 코드
ManagementScope scope = new ManagementScope();
SelectQuery query = new SelectQuery("SELECT * FROM Win32_SerialPort");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
try
{
foreach (ManagementObject item in searcher.Get())
{
String description = item["Description"].ToString();
String deviceID = item["DeviceID"].ToString();
Console.WriteLine("Porta " + description + " deviceID " + deviceID);
if (description.Contains("USB Serial Port"))
return deviceID;
}
}
catch (ManagementException)
{
}
이해 할 수없는 나는 점의 조각이되어 있습니다.
이것이 일어날 수있는 이유가 있습니까? 쿼리 SELECT * FROM Win32_SerialPort
이 잘못 되었습니까?