الفرق بين المراجعتين لصفحة: «Arduino/serial/ifserial»
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) إضافة محتويات الصفحة. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>Serial.if(Serial)</code> في أردوينو}}</noinclude> | |||
تتحقَّق الدالة <code>if(Serial)</code> إن كان المنفذ <code>Serial</code> التسلسلي المُمرَّر إليها جاهزًا للاستعمال. | تتحقَّق الدالة <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. | ||
سطر 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/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 Function]] | |||
[[تصنيف: Arduino Communication]] | |||
[[تصنيف: Arduino Serial]] |
مراجعة 09:59، 22 أكتوبر 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()
: تُستدعَى عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.