लिनक्स पर सीरियल पोर्ट को कॉन्फ़िगर करने का सबसे आसान तरीका क्या है?


13

सीरियल पोर्ट को कॉन्फ़िगर करने के लिए विंडोज कमांड प्रॉम्प्ट में, मैं सरल उपयोग कर सकता हूं:

mode com1: 9600,n,8,1

या कॉन्फ़िगरेशन पढ़ने के लिए:

mode com1:

क्या लिनक्स में समान कमांड हैं? लिनक्स में सीरियल पोर्ट को खोजने और कॉन्फ़िगर करने का सबसे आसान तरीका क्या होगा?


आम तौर पर आप धारावाहिक तक पहुँचने के लिए उपयोग किए जाने वाले अनुप्रयोगों में इसे सही रूप से संपादित कर सकते हैं, जैसे screen /dev/ttyS0 <baud-rate>( उदाहरण के लिए डिफ़ॉल्ट 9600 होगा चाहे सिस्टम-वाइड सेटिंग्स, यहां तक ​​कि ऐसे मौजूद नहीं हैं)
phk

मुझे पीओएस प्रिंटर का उपयोग करने के लिए इसे कॉन्फ़िगर करने की आवश्यकता है।
हृदयोज टी

ठीक है, उस स्थिति में sttyउल्लिखित आदेशों का प्रयास करें : wiki.openwrt.org/doc/recipes/serialbaudratespeed
phk

जवाबों:


27

आप sttyऐसे पैरामीटर सेट करने के लिए कमांड का उपयोग कर सकते हैं ।

यह पहले सीरियल पोर्ट पर सभी सेटिंग्स दिखाएगा ( यदि यूएसबी सीरियल पोर्ट का उपयोग कर रहा है तो प्रतिस्थापित ttyS0करें ttyUSB0):

stty -F /dev/ttyS0 -a

यह बॉड दर 9600, 8 बिट्स, 1 स्टॉप बिट, कोई समानता नहीं निर्धारित करेगा:

stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb

एक चीज जो आम तौर पर लोगों को भ्रमित करती है, वह यह है कि डिवाइस बंद होने के बाद अधिकांश सीरियल ड्राइवर डिफॉल्ट्स के लिए सेटिंग्स को रीसेट कर देंगे (यानी किसी भी प्रक्रिया में डिवाइस अभी खुला नहीं है)। तो उपरोक्त sttyकमांड सेटिंग्स सेट करेगा, फिर जब यह हो जाएगा तो चालक उन्हें फिर से सेट करेगा। यदि आपके पास पहला पीओएस सॉफ्टवेयर डिवाइस को खोलने और फिर sttyसेटिंग्स करने के लिए है , तो उन्हें तब तक इधर-उधर रहना चाहिए, जब तक कि आपका पीओएस सॉफ्टवेयर डिवाइस को फिर से बंद न कर दे (जैसे बाहर निकलने पर)।

मैंने सोचा होगा कि पीओएस सॉफ्टवेयर को अपने आप इन सेटिंग्स को कॉन्फ़िगर करने का कोई तरीका होना चाहिए। यदि आप प्रिंटर को चलाने के लिए अपना स्वयं का सॉफ़्टवेयर लिख रहे हैं, तो सुनिश्चित करें कि आप पहले डिवाइस को खोलते हैं, और फिर sttyकमांड को निष्पादित करते हैं ।

आपको अन्य सेटिंग्स के साथ भी खेलने की आवश्यकता हो सकती है, उदाहरण के लिए opostआउटपुट पोस्टप्रोसेसिंग प्रदर्शन किया जाएगा। यदि opostऔर onlcrदोनों सेट कर रहे हैं, onlcrएक अतिरिक्त गाड़ी वापसी (0xd) का कारण होगा जब एक नई पंक्ति (0xA) बाइट आउटपुट है जोड़े जाने के लिए, आम तौर पर इस तरह के मुद्रण सीढ़ी को रोकने के लिए

This is a line
              This is the next line

यह वही हो सकता है या नहीं हो सकता है जो आप चाहते हैं। आप प्रिंटर के लिए एक कच्चे एक-से-एक उत्पादन बारी चाहते हैं opostबंद (जोड़ने -opostके लिए sttyपैरामीटर)।

हैंडशेकिंग (प्रवाह नियंत्रण) के साथ भी नियंत्रित किया जाता है stty, प्रिंटर के बारे में अधिक जानकारी के बिना मैं नहीं बता सकता कि आपको कुछ भी सेट करने की आवश्यकता है।

sttyबहुत अधिक जानकारी के लिए मैनपेज की जाँच करें ।

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