मुझे SerialPort.Open();
सीरियलपोर्ट पोर्ट.ओपेन "पोर्ट 'COM2' मौजूद नहीं है।"
के साथ एक बड़ी समस्या है, मैं एक यूएसबी वर्चुअल कॉम पोर्ट (सीडीसी) के साथ संचार कर रहा हूं, और इसे COM2 के रूप में सूचीबद्ध किया गया है।
यह टेराटर्म/हाइपर टर्मिनल ईक्ट में ठीक काम करता है। लेकिन जब मैं सी # में बंदरगाह खोलने की कोशिश करता हूं, तो यह मुझे अपवाद The port 'COM2' does not exist
देता है।
मुझे SerialPort.GetPortNames()
फ़ंक्शन का उपयोग कर पोर्ट नाम मिलता है, और जब मैं डीबग करता हूं तो यह ठीक लगता है।
मैंने हार्डकोड नाम को सेट करने का प्रयास किया है, लेकिन बिना किसी किस्मत के।
अब वास्तव में अजीब चीज है, यह कुछ पीसी पर ठीक काम करता है, और अन्य पीसी पर विफल रहता है। कुछ पीसी पर यह हर समय असफल रहता है, और दूसरों पर यह 10% समय में विफल रहता है।
और भी अजीब यह यूएसबी पोर्ट पर निर्भर करता है, कुछ बंदरगाह ठीक काम करते हैं, अन्य असफल होते हैं (उसी पीसी पर!)।
क्या कोई मेरी मदद कर सकता है?
चालक परेशानी, वे अक्सर भयानक होते हैं। निर्माता से अपडेट की तलाश करें, अगर आप इसे ठीक नहीं कर सकते हैं तो डिवाइस को जंक करें। –
मुझे एक समाधान मिला। एक सुंदर नहीं है, लेकिन कुछ पीसी पर यूएसबी चालक बस अच्छा नहीं है। वैसे मैं प्रत्येक प्रयास के बीच 500 एमएमएस देरी के साथ, पोर्ट को दस बार खोलने की कोशिश कर रहा हूं। मुझे लगता है कि छेद की समस्या getPortNames() फ़ंक्शन के बीच विलंबता के रूप में उपलब्ध है, और बंदरगाह को खोलने के लिए वास्तव में संभव था। – JakobJ
मैन, वह भाग्यशाली है। हालांकि मैं तुम्हारा दर्द जानता हूँ। मेरा होम पीसी एक मॉनीटर सेटअप का उपयोग करता है जो यूएसबी कनेक्शन पर निर्भर करता है। जब भी सिस्टम शक्ति खो देता है तो मुझे अपने घुटनों पर 10 मिनट बिताना पड़ता है जब तक यूएसबी कनेक्शन को तब तक चालू नहीं किया जाता है जब तक यह नहीं लगता है और मेरे पास वीडियो हो सकता है। यूएसबी काम की जरूरत है। –