मैं हाल ही में सीरियलपोर्ट क्लास के साथ काम कर रहा हूं। वर्तमान में मैं यह जांचने का सही तरीका जानने का प्रयास कर रहा हूं कि कोई डिवाइस मेरे द्वारा उपयोग किए जाने वाले कॉम पोर्ट से कनेक्ट है या नहीं। क्या यह जांचने का कोई उचित तरीका है कि कोई डिवाइस कॉम पोर्ट से कनेक्ट है या नहीं? मेरी वर्तमान विधि निम्नानुसार है:सी # सीरियल पोर्ट जांचें कि डिवाइस कनेक्ट किया गया है
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
@ रूबिक्सस नं। यह एक चिकित्सा उपकरण है जिसे फ्लूक 5500 ए मल्टी-उत्पाद कैलिब्रेटर कहा जाता है। मैं खुद पर आंतरिक सेटिंग्स भी नहीं बदल रहा हूं। – DanteTheEgregore
क्या डिवाइस प्लग-इन होने पर रजिस्ट्री में ड्राइवर को पंजीकृत करता है? क्या यह एक यूएसबी डिवाइस है? – Kcvin