खोज…


वाक्य - विन्यास

  • Serial.begin(speed) // दिए गए बॉड दर पर सीरियल पोर्ट खोलता है
  • Serial.begin(speed, config)
  • Serial[1-3].begin(speed) // Arduino मेगा केवल! 1-3 लिखने पर इसका मतलब है कि आप सीरियल पोर्ट चुनते समय नंबर 1 से 3 के बीच चयन कर सकते हैं।
  • Serial[1-3].begin(speed, config) // Arduino मेगा केवल! 1-3 लिखने पर इसका मतलब है कि आप सीरियल पोर्ट चुनते समय नंबर 1 से 3 के बीच चयन कर सकते हैं।
  • Serial.peek() // बफर से हटाए बिना इनपुट के अगले बाइट को पढ़ता है
  • Serial.available() // बफर में बाइट्स की संख्या हो जाती है
  • Serial.print(text) // सीरियल पोर्ट पर टेक्स्ट लिखता है
  • Serial.println(text) // Serial.print() रूप में एक ही लेकिन एक अनुगामी newline के साथ

पैरामीटर

पैरामीटर विवरण
गति सीरियल पोर्ट की दर (आमतौर पर 9600)
टेक्स्ट सीरियल पोर्ट पर लिखने का पाठ (कोई भी डेटा प्रकार)
डेटा बिट्स एक पैकेट में डेटा बिट्स की संख्या (5 - 8 से), डिफ़ॉल्ट 8 है
समानता त्रुटि का पता लगाने के लिए समानता विकल्प: कोई नहीं (डिफ़ॉल्ट), यहां तक कि, विषम
स्टॉप बिट्स एक पैकेट में स्टॉप बिट्स की संख्या: एक (डिफ़ॉल्ट), दो

टिप्पणियों

Arduino Mega में चार सीरियल पोर्ट हैं जिन्हें वहां से चुना जा सकता है। वे निम्नलिखित तरीके से accesed हैं

  Serial.begin(9600);
  Serial1.begin(38400);
  Serial2.begin(19200);
  Serial3.begin(4800);

एक Arduino पर सीरियल पोर्ट को अतिरिक्त मापदंडों के साथ सेट किया जा सकता है। कॉन्फ़िगरेशन पैरामीटर डेटा बिट्स, समता और स्टॉप बिट्स सेट करता है। उदाहरण के लिए:

8 डेटा बिट, समता और 1 स्टॉप बिट होगा - SERIAL_8E1

6 डेटा बिट्स, विषम समता और 2 स्टॉप बिट - SERIAL_6O2

7 डेटा बिट्स, कोई समानता नहीं और 1 स्टॉप बिट होगा - SERIAL_7N1

सरल पढ़ो और लिखो

यह उदाहरण सीरियल कनेक्शन में आने वाले इनपुट के लिए सुनता है, फिर उसी कनेक्शन को वापस दोहराता है।

byte incomingBytes;

void setup() {                
  Serial.begin(9600); // Opens serial port, sets data rate to 9600 bps.
}

void loop() {
  // Send data only when you receive data.
  if (Serial.available() > 0) {
    // Read the incoming bytes.
    incomingBytes = Serial.read();

    // Echo the data.
    Serial.println(incomingBytes);
  }
}

सीरियल इनपुट डेटा के लिए बेस 64 फ़िल्टरिंग

String base64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

void setup() {

    Serial.begin(9600); // Turn the serial protocol ON
    Serial.println("Start Typing");
}

void loop() {

    if (Serial.available() > 0) { // Check if data has been sent from the user
        char c = Serial.read();   // Gets one byte/Character from serial buffer
        int result = base64.indexOf(c); // Base64 filtering
        if (result>=0)
            Serial.print(c); // Only print Base64 string
    }
}

सीरियल पर कमान संभालते हुए

byte incoming;
String inBuffer;

void setup() {
    Serial.begin(9600); // or whatever baud rate you would like
}

void loop(){
    // setup as non-blocking code
    if(Serial.available() > 0) {
        incoming = Serial.read();
        
        if(incoming == '\n') {  // newline, carriage return, both, or custom character
        
            // handle the incoming command
            handle_command();

            // Clear the string for the next command
            inBuffer = "";
        } else{
            // add the character to the buffer
            inBuffer += incoming;
        }
    }

    // since code is non-blocking, execute something else . . . .
}

void handle_command() {
    // expect something like 'pin 3 high'
    String command = inBuffer.substring(0, inBuffer.indexOf(' '));
    String parameters = inBuffer.substring(inBuffer.indexOf(' ') + 1);
    
    if(command.equalsIgnoreCase('pin')){
        // parse the rest of the information
        int pin = parameters.substring("0, parameters.indexOf(' ')).toInt();
        String state = parameters.substring(parameters.indexOf(' ') + 1);

        if(state.equalsIgnoreCase('high')){
            digitalWrite(pin, HIGH);
        }else if(state.equalsIgnoreCase('low)){
            digitalWrite(pin, LOW);
        }else{
            Serial.println("did not compute");
        }
    } // add code for more commands 
}

पायथन के साथ सीरियल कम्युनिकेशन

यदि आपके पास एक Arduino कंप्यूटर या रास्पबेरी पाई से जुड़ा है, और Arduino से पीसी पर डेटा भेजना चाहते हैं, तो आप निम्नलिखित कार्य कर सकते हैं:

Arduino:

void setup() {
  // Opens serial port, sets data rate to 9600 bps:
  Serial.begin(9600);
}

void loop() {
  // Sends a line over serial:
  Serial.println("Hello, Python!");
  delay(1000);
}

अजगर:

import serial


ser = serial.Serial('/dev/ttyACM0', 9600)  # Start serial communication
while True:
    data = ser.readline()  # Wait for line from Arduino and read it
    print("Received: '{}'".format(data))  # Print the line to the console


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow