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

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


في لوحات أردوينو Leonardo، تتحقَّ الدالة <code>if(Serial)‎</code> إن كان منفذ الاتصال USB CDC مفتوحًا أم لا. في جميع النسخ الأخرى (من ضمنها <code>if(Serial1)</code>‎) في لوحات Leonardo، ذلك الاستدعاء سيعيد دومًا القيمة true.
في لوحات أردوينو Leonardo، يتحقَّ التابع <code>if(Serial)‎</code> إن كان منفذ الاتصال USB CDC مفتوحًا أم لا. في جميع النسخ الأخرى (من ضمنها <code>if(Serial1)</code>‎) في لوحات Leonardo، ذلك الاستدعاء سيعيد دومًا القيمة <code>true</code>.


عُرِّفت هذه الدالة في الإصدار أردوينو 1.0.1.
عُرِّف هذا التابع في الإصدار أردوينو 1.0.1.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="arduino">
<syntaxhighlight lang="arduino">
سطر 18: سطر 19:
</syntaxhighlight>
</syntaxhighlight>
==القيم المعادة==
==القيم المعادة==
تعاد القيمة true المنطقية إن كان منفذ الاتصال التسلسلي المحدَّد متاحًا. ستعاد القيمة false إن استُعلِم عن الاتصال USB CDC التسلسلي في لوحات Leonardo قبل أن يكون جاهزًا.
تعاد القيمة <code>true</code> المنطقية إن كان منفذ الاتصال التسلسلي المحدَّد متاحًا. ستعاد القيمة <code>false</code> إن استُعلِم عن الاتصال USB CDC التسلسلي في لوحات Leonardo قبل أن يكون جاهزًا.
==أمثلة==
==أمثلة==
مثال على تهيئة الاتصال التسلسلي وانتظار فتح المنفذ:<syntaxhighlight lang="arduino">
مثال على تهيئة الاتصال التسلسلي وانتظار فتح المنفذ:<syntaxhighlight lang="arduino">
سطر 34: سطر 35:
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* الدالة <code>[[Arduino/serial/available|available()‎]]</code>: تجلب عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي.
*التابع <code>[[Arduino/serial/available|available()‎]]</code>: يجلب عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي.
 
* الدالة <code>[[Arduino/serial/availableforwrite|availableForWrite()‎]]</code>: تجلب عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
* الدالة <code>[[Arduino/serial/begin|begin()‎]]</code>: تضبط معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.
* الدالة <code>[[Arduino/serial/end|end()‎]]</code>: تعطِّل الاتصال التسلسلي المفتوح محرِّرةً بذلك الرجل 0 (RX) والرجل 1 (TX) لتصبح قابلةً للاستعمال كدخل أو خرج رقمي.
* الدالة <code>[[Arduino/serial/find|find()‎]]</code>: تتحقَّق من وجود السلسلة النصية المُمرَّرة إليها ضمن بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
* الدالة <code>[[Arduino/serial/finduntil|findUntil()‎]]</code>: تتحقَّق من وجود السلسلة النصية المُمرَّرة إليها ضمن جزء محدَّد من بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
* الدالة <code>[[Arduino/serial/flush|flush()‎]]</code>: تنتظر اكتمال عملية نقل البيانات المرسلة عبر الاتصال التسلسلي
* الدالة <code>[[Arduino/serial/parsefloat|parseFloat()‎]]</code>: تعيد أول [[Arduino/float|عدد عشري]] صالح من مخزَّن الاتصال التسلسلي المؤقت.
* الدالة <code>[[Arduino/serial/parseint|parseInt()‎]]</code>: تعيد أول [[Arduino/int|عدد صحيح]] صالح من مخزَّن الاتصال التسلسلي المؤقت.
* الدالة <code>[[Arduino/serial/peek|peek()‎]]</code>: تعيد البايت (المحرف) التالي من البيانات المستلمة عبر الاتصال التسلسلي دون حذفه من المخزَّن الداخلي المؤقت للاتصال التسلسلي.
* الدالة <code>[[Arduino/serial/print|print()‎]]</code>: تطبع البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي نص يستطيع الأشخاص الآخرين قراءته). 
* الدالة <code>[[Arduino/serial/println|println()‎]]</code>: تطبع البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي نص يستطيع الأشخاص الآخرين قراءته) ثمَّ تتبعها بمحرف العودة إلى بداية السطر (المحرف 'r\' أو ASCII 13) ومحرف سطر جديد (المحرف 'n\' أو ASCII 10).
* الدالة <code>[[Arduino/serial/read|read()‎]]</code>: تقرأ البيانات المستلمة عبر الاتصال التسلسلي.
* الدالة <code>[[Arduino/serial/readbytes|readBytes()‎]]</code>: تقرأ البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer). 
* الدالة <code>[[Arduino/serial/readbytesuntil|readBytesUntil()‎]]</code>: تقرأ جزءًا محدَّدًا من البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer).
* الدالة <code>[[Arduino/serial/readstring|readString()‎]]</code>: تقرأ المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.
* الدالة <code>[[Arduino/serial/readstringuntil|readStringUntil()‎]]</code>: تقرأ جزءًا من المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.
* الدالة <code>[[Arduino/serial/settimeout|setTimeout()‎]]</code>: تضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
* الدالة <code>[[Arduino/serial/write|write()‎]]</code>: تكتب بيانات ثنائية على منفذ الاتصال التسلسلي.
* الدالة <code>[[Arduino/serial/serialevent|serialEvent()‎]]</code>: تُستدعَى عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.


*التابع <code>[[Arduino/serial/availableforwrite|availableForWrite()‎]]</code>: يجلب عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
*التابع <code>[[Arduino/serial/begin|begin()‎]]</code>: يضبط معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.
*التابع <code>[[Arduino/serial/end|end()‎]]</code>: يعطِّل الاتصال التسلسلي المفتوح محرِّرةً بذلك الرجل 0 (RX) والرجل 1 (TX) لتصبح قابلةً للاستعمال كدخل أو خرج رقمي.
*التابع <code>[[Arduino/serial/flush|flush()‎]]</code>: ينتظر اكتمال عملية نقل البيانات المرسلة عبر الاتصال التسلسلي
*التابع <code>[[Arduino/serial/settimeout|setTimeout()‎]]</code>: يضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
*التابع <code>[[Arduino/serial/serialevent|serialEvent()‎]]</code>: يُستدعَى عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.
==مصادر==
==مصادر==
*[https://www.arduino.cc/reference/en/language/functions/communication/serial/ifserial/ صفحة الدالة if(Serial)‎ في توثيق أردوينو الرسمي.]
*[https://www.arduino.cc/reference/en/language/functions/communication/serial/ifserial/ صفحة التابع if(Serial)‎ في توثيق أردوينو الرسمي.]
[[تصنيف: Arduino]]
[[تصنيف: Arduino Method]]
[[تصنيف: Arduino Communication]]
[[تصنيف: Arduino Serial]]

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

يتحقَّق التابع if(Serial)‎ إن كان المنفذ Serial التسلسلي المُمرَّر إليه جاهزًا للاستعمال.

في لوحات أردوينو Leonardo، يتحقَّ التابع if(Serial)‎ إن كان منفذ الاتصال USB CDC مفتوحًا أم لا. في جميع النسخ الأخرى (من ضمنها if(Serial1)‎) في لوحات Leonardo، ذلك الاستدعاء سيعيد دومًا القيمة true.

عُرِّف هذا التابع في الإصدار أردوينو 1.0.1.

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

// جميع اللوحات
if (Serial)

// Leonardo لوحات أردوينو
if (Serial1)

// Mega لوحات أردوينو
if (Serial1)
if (Serial2)
if (Serial3)

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

تعاد القيمة true المنطقية إن كان منفذ الاتصال التسلسلي المحدَّد متاحًا. ستعاد القيمة false إن استُعلِم عن الاتصال USB CDC التسلسلي في لوحات Leonardo قبل أن يكون جاهزًا.

أمثلة

مثال على تهيئة الاتصال التسلسلي وانتظار فتح المنفذ:

void setup() {
 // تهيئة الاتصال التسلسلي والانتظار اكتمال فتح المنفذ
  Serial.begin(9600);
  while (!Serial) {
    ; // انتظار منفذ الاتصال التسلسلي لكي يتصل. هذا الأمر مطلوب من أجل المنفذ USB الأصلي 
  }
}

void loop() {
 // تنفيذ بقية المهام بشكل طبيعي
}

انظر أيضًا

  • التابع available()‎: يجلب عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي.
  • التابع availableForWrite()‎: يجلب عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
  • التابع begin()‎: يضبط معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.
  • التابع end()‎: يعطِّل الاتصال التسلسلي المفتوح محرِّرةً بذلك الرجل 0 (RX) والرجل 1 (TX) لتصبح قابلةً للاستعمال كدخل أو خرج رقمي.
  • التابع flush()‎: ينتظر اكتمال عملية نقل البيانات المرسلة عبر الاتصال التسلسلي
  • التابع setTimeout()‎: يضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
  • التابع serialEvent()‎: يُستدعَى عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.

مصادر