저는 최근에 SerialPort 클래스로 많은 작업을 해왔습니다. 현재 장치가 내 응용 프로그램에서 사용하는 통신 포트에 연결되어 있는지 확인하는 적절한 방법을 알아 내려고하고 있습니다. 장치가 통신 포트에 연결되어 있는지 확인하는 적절한 방법이 있습니까? 내 현재 방법은 다음과 같습니다 :C# Serial Port 장치가 연결되어 있는지 확인하십시오.
while (isReading == true)
{
try
{
received += serialPort.ReadExisting();
if (received.Contains('>'))
isReading = false;
}
catch (Exception e)
{
}
if (tick == 10000)
if (received == "")
{
Console.WriteLine("No Data Received. Device isn't connected.");
isReading = false;
}
tick++;
}
Console.WriteLine(received);
그것은 작동하지만 나는 약간의 해킹과 신뢰할 수 없다고 느낍니다. 필요하다면 나는 그것을 지킬 수 있지만 이것을하기위한 적절한 대안이 있다면 나는 그것을 원한다.
편집 : 실제로 신뢰할 수 있도록 틱 값을 약 10,000으로 설정해야합니다. 그렇지 않으면 나는 때때로 데이터를받지 못한다. 1000 또는 5000으로 설정하는 것조차 신뢰할 수 없습니다. 그럼에도 불구하고 여러 대의 컴퓨터에서 신뢰할 수 있다는 보장은 없습니다.
당신이뿐만 아니라 장치를 프로그래밍하고 (의사 코드) 요약하면? – Rubixus
@Rubixus No. Fluke 5500A 다중 제품 교정기라고 불리는 의료 기기입니다. 나는 내부 설정을 직접 변경하지도 않는다. – DanteTheEgregore
장치를 꽂았을 때 레지스트리에 드라이버가 등록됩니까? USB 장치입니까? – Kcvin