/ Dev / ttyACM0 और / dev / ttyS0 के बीच अंतर (लिनक्स के तहत Arduino IDE पोर्ट)


10

मैं अपने Arduino Uno में रेखाचित्र अपलोड करने के लिए Arduino IDE का उपयोग करता हूं। मेरा OS Linux Ubuntu 14.04 LTS है। Arduino IDE के पास संचार के लिए डिफ़ॉल्ट रूप से Arduino IDE के दो पोर्ट हैं:

/dev/ttyACM0
/dev/ttyS0
  1. इन दोनों बंदरगाहों में क्या अंतर है?
  2. "ACM0" और "S0" का क्या अर्थ है?
  3. क्या ओएस फ़ोल्डर संरचना में कहीं कॉन्फ़िगरेशन फाइलें हैं जो इन बंदरगाहों के मापदंडों का वर्णन करती हैं?

मुझे पता है कि जब मैं चयन करता हूं /dev/ttyACM0, तो मैं अपने Arduino Uno को डेटा भेजने में सक्षम हूं। हालांकि जब मैं चयन करता हूं तो यह काम नहीं करता है /dev/ttyS0

मैं बस ये समझना चाहता हूं कि ये बंदरगाह वास्तव में क्या हैं।

जवाबों:


6

/dev/ttyACM0एक USB संचार उपकरण (CDC) उप-प्रकार "अमूर्त नियंत्रण मॉडल" (ACM) है। यही अरुडिनो है।

/dev/ttyS0 एक हार्डवेयर सीरियल पोर्ट है - (आमतौर पर) आपके कंप्यूटर के पीछे 9-पिन डी कनेक्टर।

यदि आप उपयोग करना चाहते हैं /dev/ttyS0(आप क्यों करेंगे?) तो आपको एक विशेष केबल की आवश्यकता होगी जो आरएस -232 वोल्टेज संकेतों को 9-पिन डी कनेक्टर से आरटीयू के लिए सही टीटीएल स्तर के संकेतों में परिवर्तित करता है और इसे सही पिंस में वायर करता है। पर सवार।


-1

कुछ उच्च-स्तरीय भाषाएँ (जैसे matlab) सभी सीरियल पोर्ट को / dev / ttyS # चयनकर्ता के रूप में मानती हैं। MATLAB के साथ एक Arduino के साथ इंटरफेस करने के लिए आपको / dev / ttyACM0 का नाम बदलकर / dev / ttyS # करना होगा।

यह Arduino IDE में भी एक विकल्प हो सकता है, और इसीलिए वे विकल्प मौजूद हैं।


1
जब कोई सिमलिंक कर सकता है तो आप इसका नाम क्यों बदलेंगे?
PypeBros
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.