الفرق بين المراجعتين لصفحة: «Arduino/serial/available»

من موسوعة حسوب
إضافة محتويات الصفحة.
طلا ملخص تعديل
 
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>Serial.available()‎</code> في أردوينو}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>Serial.available()‎</code> في أردوينو}}</noinclude>
تجلب الدالة <code>available()‎</code> عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي. يمثِّل هذا العدد كمية البيانات التي استُقبلَت مسبقًا وخُزِّنَت في ذاكرة التخزين المؤقتة للمنفذ التسلسلي ذي الحجم 64 بايت.
يجلب التابع <code>available()‎</code> عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي. يمثِّل هذا العدد كمية البيانات التي استُقبلَت مسبقًا وخُزِّنَت في ذاكرة التخزين المؤقتة للمنفذ التسلسلي ذي الحجم 64 بايت.


ترث الدالة <code>available()‎</code> من الصنف <code>[[Arduino/stream|Stream]]</code>.
يرث التابع <code>available()‎</code> من الصنف <code>[[Arduino/stream|Stream]]</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="arduino">
<syntaxhighlight lang="arduino">
سطر 58: سطر 58:
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*الدالة <code>[[Arduino/serial/availableforwrite|availableForWrite()‎]]</code>: تجلب عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
*التابع <code>[[Arduino/serial/availableforwrite|availableForWrite()‎]]</code>: يجلب عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
*الدالة <code>[[Arduino/serial/begin|begin()‎]]</code>: تضبط معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.
*التابع <code>[[Arduino/serial/begin|begin()‎]]</code>: يضبط معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.
*الدالة <code>[[Arduino/serial/find|find()‎]]</code>: تتحقَّق من وجود السلسلة النصية المُمرَّرة إليها ضمن بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
*التابع <code>[[Arduino/serial/find|find()‎]]</code>: يتحقَّق من وجود السلسلة النصية المُمرَّرة إليه ضمن بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
*الدالة <code>[[Arduino/serial/finduntil|findUntil()‎]]</code>: تتحقَّق من وجود السلسلة النصية المُمرَّرة إليها ضمن جزء محدَّد من بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
*التابع <code>[[Arduino/serial/finduntil|findUntil()‎]]</code>: يتحقَّق من وجود السلسلة النصية المُمرَّرة إليه ضمن جزء محدَّد من بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
*الدالة <code>[[Arduino/serial/parsefloat|parseFloat()‎]]</code>: تعيد أول [[Arduino/float|عدد عشري]] صالح من مخزَّن الاتصال التسلسلي المؤقت.
*التابع <code>[[Arduino/serial/parsefloat|parseFloat()‎]]</code>: يعيد أول [[Arduino/float|عدد عشري]] صالح من مخزَّن الاتصال التسلسلي المؤقت.
*الدالة <code>[[Arduino/serial/read|read()‎]]</code>: تقرأ البيانات المستلمة عبر الاتصال التسلسلي.
*التابع <code>[[Arduino/serial/read|read()‎]]</code>: يقرأ البيانات المستلمة عبر الاتصال التسلسلي.
*الدالة <code>[[Arduino/serial/readbytes|readBytes()‎]]</code>: تقرأ البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer). 
*التابع <code>[[Arduino/serial/readbytes|readBytes()‎]]</code>: يقرأ البيانات المستلمة عبر الاتصال التسلسلي ويضعها في متغير يمثِّل مخزن مؤقت (buffer). 
*الدالة <code>[[Arduino/serial/readstring|readString()‎]]</code>: تقرأ المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.
*التابع <code>[[Arduino/serial/readstring|readString()‎]]</code>: يقرأ المحارف المستلمة عبر الاتصال التسلسلي ويعيدها كسلسلة نصية.
*الدالة <code>[[Arduino/serial/settimeout|setTimeout()‎]]</code>: تضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
*التابع <code>[[Arduino/serial/settimeout|setTimeout()‎]]</code>: يضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
==مصادر==
==مصادر==
*[https://www.arduino.cc/reference/en/language/functions/communication/serial/available/ صفحة الدالة Serial.available()‎ في توثيق أردوينو الرسمي.]
*[https://www.arduino.cc/reference/en/language/functions/communication/serial/available/ صفحة التابع Serial.available()‎ في توثيق أردوينو الرسمي.]
[[تصنيف: Arduino]]
[[تصنيف: Arduino]]
[[تصنيف: Arduino Function]]
[[تصنيف: Arduino Method]]
[[تصنيف: Arduino Communication]]
[[تصنيف: Arduino Communication]]
[[تصنيف: Arduino Serial]]
[[تصنيف: Arduino Serial]]

المراجعة الحالية بتاريخ 17:56، 6 نوفمبر 2018

يجلب التابع available()‎ عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي. يمثِّل هذا العدد كمية البيانات التي استُقبلَت مسبقًا وخُزِّنَت في ذاكرة التخزين المؤقتة للمنفذ التسلسلي ذي الحجم 64 بايت.

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

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

Serial.available()

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

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

يعاد عدد البايتات المستلمة والمتاحة للقراءة.

أمثلة

يعيد المثال التالي المحرف المستلم عبر واجهة التخاطب التسلسلية:

// متغير لتخزين البيانات الآتية من المنفذ التسلسلي
int incomingByte = 0;

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

void loop() {

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

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

المثال التالي خاص بلوحة أردوينو Mega. يعمل المثال على إرسال البيانات المستلمة من أحد منافذ الاتصال التسلسلية إلى منفذ آخر. يمكن تطبيق هذا الأمر لوصل جهاز مع الحاسوب مثلًا عبر لوحة أردوينو:

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);

}

void loop() {
  // القراءة من المنفذ 0، والإرسال إلى المنفذ 1
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.print(inByte, DEC);

  }
  // القراءة من المنفذ 1، والإرسال إلى المنفذ 0
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.print(inByte, DEC);
  }
}

انظر أيضًا

  • التابع availableForWrite()‎: يجلب عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
  • التابع begin()‎: يضبط معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.
  • التابع find()‎: يتحقَّق من وجود السلسلة النصية المُمرَّرة إليه ضمن بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
  • التابع findUntil()‎: يتحقَّق من وجود السلسلة النصية المُمرَّرة إليه ضمن جزء محدَّد من بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
  • التابع parseFloat()‎: يعيد أول عدد عشري صالح من مخزَّن الاتصال التسلسلي المؤقت.
  • التابع read()‎: يقرأ البيانات المستلمة عبر الاتصال التسلسلي.
  • التابع readBytes()‎: يقرأ البيانات المستلمة عبر الاتصال التسلسلي ويضعها في متغير يمثِّل مخزن مؤقت (buffer). 
  • التابع readString()‎: يقرأ المحارف المستلمة عبر الاتصال التسلسلي ويعيدها كسلسلة نصية.
  • التابع setTimeout()‎: يضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.

مصادر