सीरियल पोर्ट खोलने से क्या होता है?


4

मानक पीसी सीरियल पोर्ट को बिजली के लिहाज से (यानी किन पिंस पर वोल्टेज में) खोला जाता है?

उदाहरण के लिए, प्राचीन वीबी 6 प्रोग्राम जो एक उपकरण को नियंत्रित करता है जिसे मैं .PortOpenकुछ टीटीएल को नियंत्रित करने के लिए टॉगल बनाए रखने के साथ काम करता हूं । कनेक्शन में केवल 2 पिन का उपयोग किया गया था (खराब विक्रेता अलग हो गए), इसलिए मैं किस पिन को मिलाप करता हूं?

केवल लेबल / दस्तावेज़ीकरण पिन 7 और 9 को संदर्भित करता है, 0V और 5V को मूल रूप से कहता है, लेकिन .PortOpenवास्तव में RI और RTS के बीच 5V डालता है।

पोस्ट स्क्रिप्ट के रूप में, यह सेट अप के बारे में सबसे अजीब बात नहीं है। जिस टीटीएल का मैंने ऊपर उल्लेख किया है वह भी BNC के माध्यम से DB9 (!) के माध्यम से एक साधन से जुड़ता है, जिसमें केवल 1 पिन का उपयोग किया जाता है। मुझे लगता है कि एक आम जमीन के बारे में धारणा थी, क्योंकि BNC परिरक्षण GND पिन से जुड़ा नहीं है? इसका संबंध उपकरण के 'फुट पेडल' पिन से है, यह उपकरण को दूरस्थ रूप से ट्रिगर करने का एक तरीका था।

अपडेट करें

इस पृष्ठ के अनुसार , पोर्ट खुलने पर डीटीआर और आरटीएस पिन उच्च जा सकते हैं। यदि वे इतने कॉन्फ़िगर थे, तो पोर्ट बंद होने पर वे बाद में कम जाएंगे।

यदि DTR और RTS सक्षम नहीं हैं, तो पोर्ट को खोलना दोनों को कम पर सेट करना चाहिए (और उन्हें कम रखें)।


टीटीएल? लेंस के द्वारा? ट्रांजिस्टर-ट्रांजिस्टर-तर्क?

बाद वाला। यह एक पास है जिसके माध्यम से खोला और बंद किया जाता है और सीरियल पोर्ट को खोलना / बंद करके टॉगल किया जाता है।
reve_etrange

@reve_etrange: मैं पूछ रहा था क्योंकि सीरियल पोर्ट टीटीएल स्तर नहीं हैं, इसलिए आप उन्हें सीधे कनेक्ट नहीं कर सकते। मुझे लगा कि आपका मतलब कुछ और है।

@Federico रूसो, मेरे एम्बेडेड अनुप्रयोगों और डिबगिंग में मैं अक्सर ड्राइवरों के बिना TTL स्तर UARTS का उपयोग करता हूं। क्या हर किसी के पास इन ftdichip.com/Products/Cables/USBTTLSerial.htm में से एक नहीं है ?
केनी

@kenny: ओपी कहते हैं कि वह एक पीसी पर है, और वहां एक सीरियल पोर्ट -12 वी से + 12 वी तक जाता है।

जवाबों:


1

मैं @Stevenvh जवाब से असहमत हूं। विशेष रूप से खिड़कियों के लिए। "पोर्ट ओपन" और "पोर्ट क्लोज़" एपीआई कॉल, .NET या MSCOMM OCX में कहते हैं कि DTR और RTS लाइनों को अपने राज्य को विद्युत रूप से बदलने या न बदलने के लिए मजबूर करेंगे।

पोर्ट ओपन होने पर, DTR को इलेक्ट्रिकल स्टेट में सेट किया जाएगा, बूलियन प्रॉपर्टी के अनुरुप DTREnable, अगर इसे पोर्ट खोलने से पहले "सही" सेट किया गया था। डिफ़ॉल्ट रूप से, यह "झूठा" रहेगा, यदि उपयोगकर्ता, DTREnable को कभी सेट नहीं करता है, तो "ओपन पोर्ट" पर DTR लाइन पोर्ट खोलने से पहले "झूठी" रहेगी।

रेखा के नाम "RTS" और संपत्ति "RTSEnable" के लिए समान तर्क और चूक। आप पोर्ट खोलने से पहले "RTSEnable" चुनते हैं, केबल के दूसरे छोर पर संचार पार्टी और शामिल तारों की मात्रा पर निर्भर करता है (हैवेयर हैंडशेक बनाम सॉफ़्टवेयर हैंडशेक बनाम नो हैंडशेक)।

  • डेटा वाहक का पता लगाने - इनपुट, कोई प्रभाव नहीं है
  • डेटा प्राप्त करें - इनपुट है, कोई प्रभाव नहीं
  • ट्रांसमिट डेटा - आउटपुट है, "MARK" के बजाय "स्पेस" रहेगा
  • डेटा टर्मिनल तैयार - "पोर्ट ओपन" से पहले संपत्ति सेट होने पर "TRUE" में बदल जाएगा
  • सिग्नल ग्राउंड - कोई बदलाव नहीं
  • डेटा सेट तैयार - इनपुट है, कोई प्रभाव नहीं
  • भेजने का अनुरोध - "पोर्ट ओपन" से पहले RTSEnable संपत्ति सेट होने पर "TRUE" में बदल जाएगा
  • भेजने के लिए स्पष्ट - इनपुट है, कोई प्रभाव नहीं
  • रिंग इंडिकेटर - इनपुट है, कोई प्रभाव नहीं

रिवर्स में, जब पोर्ट बंद हो जाता है। पिन डीटीआर और आरटीएस "FALSE" स्थिति में बदल जाएंगे, या "FALSE" स्थिति में बने रहेंगे, यदि वे शुरुआती समय में संपत्तियों के माध्यम से सेट नहीं किए गए थे।


अन्य पिन (डीटीआर और आरटीएस के अलावा) के बारे में कैसे?
reve_etrange

पीसी का आउटपुट डेटा पिन "स्पेस" में रहेगा, "मार्क" स्थिति में नहीं। अन्य पिन इनपुट पिन हैं, इसलिए वे नहीं बदलेंगे (रिंग इंडिकेटर, कैरियर डिटेक्ट, क्लियर टू सेंड, डेटा इनपुट)।

बहुत अच्छे धन्यवाद! "रहना" SPACE / MARK से क्या आपका मतलब है कि जब पोर्ट बंद हो जाता है तो यह कुछ डिवाइस पर निर्भर अपरिभाषित स्थिति में वापस आ जाएगा?
०१ को ०११ पर ०१ पर पुनः व्यवस्थित करें

हाँ। लेकिन अंतरिक्ष / मार्क को "परिभाषित" के रूप में माना जा सकता है, मेरा मतलब है कि अनुमानित वोल्टेज। TTL "स्पेस" में Sya "FALSE" है, शून्य वोल्ट है, या MARK है "TRUE" +5 वोल्ट है। लेकिन RS-232 स्पेस में +12 V और MARK -12V है।

" ट्रांसमिट डेटा - आउटपुट है," मार्क "के बजाय" स्पेस "रहेगा " - एक बेकार RS-232 डेटा लाइन एक नकारात्मक वोल्टेज पर मार्किंग होगी ।
चूरा

8

पोर्ट खोलना बिजली के काम में नहीं आता है। यह बस ओएस को बताता है कि उस क्षण से पोर्ट पर एप्लिकेशन को सौंपा गया है। OS आपके खुले होने के दौरान पोर्ट को एक्सेस करने के लिए अन्य ऐप्स को अस्वीकार कर देगा, और आपके ऐप को इसे एक्सेस करने की अनुमति देगा।


यह समझ आता है। इस के धारावाहिक संचार और विंडोज प्रोग्रामिंग दोनों पहलू मेरी विशेषज्ञता से बाहर हैं।
reve_etrange

और कुछ OSes पर यह अभी भी साझा किया जा सकता है, लेकिन प्रोग्रामर के इरादे से, लेकिन शायद निर्णय को त्रुटिपूर्ण बना दिया।
केनी

मैंने जवाब को अस्वीकार कर दिया क्योंकि यह स्पष्ट है कि अन्य चीजें तब हो सकती हैं जब पोर्ट खुला हो। रोलरकोस्टर के लिए क्षमा करें।
Reve_etrange

क्या यह निश्चित रूप से गैर-विंडोज ओएस पर व्यवहार है?
reve_etrange

6

एक सीरियल पोर्ट खोलने से सभी पिन एक परिभाषित स्थिति में हो जाएंगे (मुझे याद नहीं है कि कौन सी हैंडशेक लाइनें डिफॉल्ट करने या रिक्ति करने के लिए डिफ़ॉल्ट हैं, लेकिन यह मानक है)। सीरियल पोर्ट खोले जाने तक, लाइनों की स्थिति अपरिभाषित हो सकती है। जब तक Microsoft ने चीजों को नहीं बदला है, एक सीरियल पोर्ट को बंद करने से पहले जो भी राज्य में वे बंद करने के लिए थे, वे लाइनों को छोड़ देंगे, इसलिए यदि अंतिम प्रोग्राम ने उन्हें एक अजीब स्थिति में छोड़ दिया, तो वे अगली बार खुलने तक उस स्थिति में बने रहेंगे। इसके अलावा, मुझे नहीं पता कि यह अभी भी विंडोज के तहत एक मुद्दा है, लेकिन डॉस के तहत कुछ पीसी थे जो अपने सीरियल पोर्ट को पावर-अप पर नासमझ स्थिति में सेट करेंगे। पीसी के कम से कम एक ब्रांड ने अपने सीरियल पोर्ट को लगातार निर्देश दिया जब तक कि अन्यथा निर्देश न दिया जाए;


क्या यह आरटीएस और डीटीआर के अलावा कॉन्फ़िगरेशन के आधार पर कम / उच्च करने के लिए कुछ भी करता है? यानी सभी पिन खुले में कम सेट होते हैं, क्या कुछ लगातार प्रसारित होते हैं, आदि?
reve_etrange
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.