Ultimamente sto lavorando con la classe SerialPort. Attualmente sto cercando di capire il modo corretto per verificare se un dispositivo è collegato alla porta di comunicazione utilizzata dall'applicazione. C'è un modo corretto per verificare se un dispositivo è collegato alla porta di comunicazione? Il mio metodo attuale è la seguente:C# Serial Port Verifica se il dispositivo è collegato
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);
Funziona, ma sento che è un po 'hacky e inaffidabile. Posso mantenerlo se necessario, ma mi piacerebbe se ci fosse una valida alternativa a questo.
Modifica: In realtà devo impostare il valore di spunta su circa 10.000 per garantire che sia affidabile. Altrimenti non riesco a ricevere dati occasionalmente. Anche impostarlo su 1000 o 5000 non è affidabile. Anche in questo caso, non è garantito che sia affidabile su più macchine.
Stai programmazione del dispositivo come bene? – Rubixus
@Rubixus No. Si tratta di un dispositivo medico denominato Calibratore multi-prodotto Fluke 5500A. Non sto nemmeno cambiando le impostazioni interne su di esso me stesso. – DanteTheEgregore
Il dispositivo registra un driver nel registro quando è collegato? È un dispositivo USB? – Kcvin