التابع Serial.read()‎ في أردوينو

من موسوعة حسوب

يقرأ التابع read()‎ البيانات المستلمة عبر الاتصال التسلسلي.

يرث التابع read()‎ من الصنف Stream.

البنية العامة

Serial.read()

// فقط Mega لوحات أردوينو
Serial1.read()
Serial2.read()
Serial3.read()

القيم المعادة

يعاد البايت الأول من البيانات المتاحة الآتية من منفذ الاتصال التسلسلي المحدَّد، أو تعاد القيمة 1- إن لم يكن هنالك أية بيانات متاحة للقراءة.

أمثلة

قراءة البيانات المستلمة من منفذ الاتصال التسلسلي وإعادة إرسالها:

int incomingByte = 0;   // متغير لتخزين البيانات المراد قراءتها

void setup() {
        Serial.begin(9600);     // فتح منفذ اتصال تسلسلي بمعدل 9600 بت/ثا
}

void loop() {

        // إرسال بيانات عند استلام أخرى فقط
        if (Serial.available() > 0) {
                // قراءة بايتٍ من البيانات المستلمة
                incomingByte = Serial.read();

                // إعادة إرسال نفس البايت المستلم
                Serial.print("I received: ");
                Serial.println(incomingByte, DEC);
        }
}

انظر أيضًا

  • التابع available()‎: يجلب عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي.
  • التابع find()‎: يتحقَّق من وجود السلسلة النصية المُمرَّرة إليه ضمن بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
  • التابع parseInt()‎: يعيد أول عدد صحيح صالح من مخزَّن الاتصال التسلسلي المؤقت.
  • التابع readBytes()‎: يقرأ البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer). 
  • التابع readBytesUntil()‎: يقرأ جزءًا محدَّدًا من البيانات المستلمة عبر الاتصال التسلسلي ويضعها في متغير يمثِّل مخزن مؤقت (buffer).
  • التابع readString()‎: يقرأ المحارف المستلمة عبر الاتصال التسلسلي ويعيدها كسلسلة نصية.
  • التابع readStringUntil()‎: يقرأ جزءًا من المحارف المستلمة عبر الاتصال التسلسلي ويعيدها كسلسلة نصية.
  • التابع setTimeout()‎: يضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
  • التابع serialEvent()‎: يُستدعَى عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.

مصادر