यह बहुत भ्रामक है, लेकिन आपको इसके बारे में चिंता करने की आवश्यकता नहीं है। सबसे पहले, एक UART के बारे में सोचें जो स्वयं एक सामान्य शब्द है, लेकिन एक ऐसा विचार करें जो एक शुरुआत बिट, एक या दो स्टॉप बिट्स के साथ एक प्रोटोकॉल का उत्पादन करता है, 7 या 8 आमतौर पर डेटा बिट्स, और कभी-कभी समता जो कि सम या विषम है; यह वहां से भिन्न हो सकता है जो इसे और भी बदतर बनाता है।
UART TTL के स्तर पर है, जो भी इसका मतलब है। यह 5 V और अब 3.3 V, 1.8 V या जो भी हुआ करता था; शायद TTL गलत शब्द है। जब आपके पास RS-232, RS-422 इत्यादि होते हैं, तो ये VOLTAGE AND PIN मानक होते हैं, प्रोटोकॉल मानक नहीं। जब आप UART के किसी प्रकार का अर्थ करते हैं तो शब्दों को मिलाना और RS-232 कहना गलत है।
दिन में वापस आपका UART आपके मदरबोर्ड पर था और आपने वोल्टेज स्तर के साथ बाहरी दुनिया के लिए किसी प्रकार के कनेक्टर को वांछित किया जो उस समय समझ में आए और कुछ प्रकार के मानक पिनआउट / केबल। इसलिए एक लोकप्रिय 25 और 9 पिन मानक अक्सर विभिन्न परिधीयों के लिए पाए जाते थे, और विंटेल पीसी की दुनिया में इसे कॉमम्युनिकेशन पोर्ट या कभी-कभी सीरियल पोर्ट कहा जाता था।
निश्चित रूप से, एक पोर्ट जो सीरियल डेटा ले जाता है और एक सीरियल पोर्ट कहलाता है, SPI, I ,C, MDIO, UART, HDLC, SDLC, आदि, और शायद USB और SCSI; आप इसके साथ पागल हो सकते हैं। आमतौर पर एक सीरियल पोर्ट का मतलब होता है कुछ पिन जो आप UART में प्राप्त कर सकते हैं।
यूनिक्स / लिनक्स दुनिया / / के tty
बजाय कहते हैं , लेकिन यह एक ही बात है।com
serial
uart
अब इम्प्लिमेंटेशन है। आप उस पर कुछ इंटरफ़ेस के साथ कुछ UART चिप खरीद सकते हैं (हाँ, आप एक SPI UART हो सकते हैं, जो दोनों सिरों पर धारावाहिक है, या I endsC UART या कुछ समर्पित बस या USB, आदि)। यहां तक कि दिन में भी UART के पास एक तरफ कुछ बस थी जो अंततः सीपीयू के माध्यम से संचार कर रही थी। आज हमारे पास FTDI और अन्य विक्रेता हैं जो अच्छे USB UART समाधान बनाते हैं, यह सॉफ्टवेयर और UART के बीच इंटरफ़ेस की कुछ अलग परतों को नहीं बनाता है और फिर UART के दूसरे हिस्से में कुछ इंटरफ़ेस है, चाहे वह TTL / चिप स्तर हो या RS-232C या RS-422, आदि।
प्रारंभिक Arduinos आपने अक्सर एक FTDI USB-to-UART बोर्ड का उपयोग किया था जो Arduino को शक्ति प्रदान करता था। कुछ में स्वयं Arduino बोर्ड पर USB पावर और सीरियल / UART है और फिर AVR चिप पर UART को बोर्ड भर में हुक दिया जाता है (उसी तरह कुछ प्रोसेसर के साथ बसों की कुछ परतों के साथ सॉफ़्टवेयर को UART से संवाद करने की अनुमति देता है) इसके दूसरी तरफ कुछ इंटरफ़ेस, इस मामले में एवीआर के किनारे पर चिप वोल्टेज स्तरों, टीटीएल पर)।
चूंकि UART की कार्यक्षमता दशकों में नहीं बदली है, इसलिए सॉफ़्टवेयर शब्दावली या यहां तक कि सॉफ़्टवेयर एप्लिकेशन को एप्लिकेशन स्तर पर क्यों बदलना चाहिए? अपने मदरबोर्ड पर एक UART चिप के खिलाफ 10-15 साल पहले लिनक्स / यूनिक्स टीटीवाई एप्लिकेशन लिखें, और एक अच्छा मौका है जो आज भी USB से TTL स्तर या USB से RS-232C स्तर या RS-422 या जो भी पिन के साथ काम करता है / स्तर परिभाषा। वही विंडोज के लिए चला जाता है, और मेरे पास कोड पुराना है जो अभी भी दोनों पर काम करता है। विंडोज की दुनिया में COM शब्द का इस्तेमाल किया जाता है।
मैंने थोड़ी देर में Arduino सैंडबॉक्स का उपयोग नहीं किया है और यदि ऐसा है तो लिनक्स पर होगा, लेकिन मुझे आश्चर्य नहीं होगा कि क्या वह प्रोग्राम जो जावा है, अगर मुझे सही याद है, सामान्य है और सिस्टम नाम का उपयोग करता है इसलिए ttyS2
लिनक्स और COM2 खिड़कियों पर।
आपके प्रश्न को फिर से पढ़ना यह बहुत आगे जा सकता है, जो पहले से मौजूद सॉफ़्टवेयर का लाभ उठा रहा है जो इन एपीआई कॉल का उपयोग करता है। दशकों के लिए फिर से कोई कारण नहीं है कि आप सॉफ्टवेयर में एक आभासी पोर्ट नहीं बना सकते हैं जो इस द्विदिश डेटा को बहुत अधिक नीचे ले जाता है जिसके बारे में आप सोच सकते हैं। UART से ईथरनेट एक बहुत ही आम है, और सर्वर रूम में जहां सर्वर अभी भी COM / TTY / RS-232 पोर्ट का उपयोग करते हैं, आपके पास एक टर्मिनल सर्वर हो सकता है जिसमें कई इंटरफेस हैं जिन्हें आप कई सर्वर से कनेक्ट कर सकते हैं, फिर दूसरी तरफ ईथरनेट, फिर यदि आप टेलनेट को नहीं चुनते हैं, तो आप एक वर्चुअल COM पोर्ट ड्राइवर स्थापित कर सकते हैं।
तब आपके कंप्यूटर पर आपका अनुप्रयोग सोचता है कि यह COM पोर्ट से बात कर रहा है, लेकिन वास्तव में बाइट्स की धारा ईथरनेट पर बंद हो रही है, फिर टर्मिनल सर्वर, THEN, को UART से RS-232C स्तर (लेकिन जरूरी नहीं कि पिनआउट) केबलों से टकराना हो। सर्वर और वापस उसी तरह।
कभी-कभी वास्तव में इसे वास्तविक UART में बनाने का कोई कारण नहीं है, जो भी कारण के लिए COM पोर्ट को वर्चुअलाइज करता है ताकि जो सॉफ़्टवेयर उन एपीआई कॉल के लिए लिखा गया था, वे अभी भी काम कर सकें। आप शायद उस प्राचीन बैंकिंग सॉफ्टवेयर के बारे में सोच सकते हैं जिसका हम अभी भी उपयोग करते हैं, जिसमें एक UART इंटरफ़ेस के लिए एक डंब टर्मिनल है जो शायद दिन में वापस हार्ड हो गया था या अंततः एक सर्वर में मॉडेम में चला गया था। आप इसे ऐसा बना सकते हैं कि सॉफ्टवेयर अभी भी काम करता है, वर्चुअल COM पोर्ट सहित विभिन्न मात्रा में अनुकरण के माध्यम से, जो आज संभवतया ईथरनेट को सीरियल स्ट्रीम (उदाहरण के लिए टीसीपी / आईपी) के रूप में सर्वर तक ले जाता है।