الفرق بين المراجعتين ل"Arduino/serial"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:دوال التحكم بالاتصالات التسلسلية في أردوينو}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:دوال التحكم بالاتصالات التسلسلية في أردوينو}}</noinclude>
 +
 
تستعمل واجهة التخاطب التسلسلية للتواصل بين لوحة أردوينو وأجهزة أخرى (مثل الحاسوب). تملك جميع لوحات أردوينو منفذ تسلسلي واحد على الأقل يُعرَف باسم UART أو USART. يستعمل هذا المنفذ الرجل 0 (RX) والرجل 1 (TX) في عملية التواصل، إذ تكون هاتان الرجلان موصلتين مع المنفذ USB للتواصل مع الحاسوب. نتيجةً لذلك، إن استعملت إحدى الدوال الموجودة في هذا القسم لتهيئة واجهة التخاطب التسلسلية والبدء باستعمالها، فلن تتمكن من استعمال الرجلين 0 و 1 من أجل الدخل أو الخرج الرقمي بعدئذٍ. تستطيع استعمال مراقب الاتصالات التسلسلية المدمج في بيئة أردوينو التطويرية (Arduino IDE) للتواصل مع لوحة أردوينو. اضغط على زر مراقب الاتصال التسلسلي (serial monitor) في شريط الأدوات واختر معدل تدفق البيانات أو سرعة الاتصال (baud rate) نفسه الذي استُعمَل في تهيئة الاتصال باستدعاء الدالة <code>begin()‎</code>.
 
تستعمل واجهة التخاطب التسلسلية للتواصل بين لوحة أردوينو وأجهزة أخرى (مثل الحاسوب). تملك جميع لوحات أردوينو منفذ تسلسلي واحد على الأقل يُعرَف باسم UART أو USART. يستعمل هذا المنفذ الرجل 0 (RX) والرجل 1 (TX) في عملية التواصل، إذ تكون هاتان الرجلان موصلتين مع المنفذ USB للتواصل مع الحاسوب. نتيجةً لذلك، إن استعملت إحدى الدوال الموجودة في هذا القسم لتهيئة واجهة التخاطب التسلسلية والبدء باستعمالها، فلن تتمكن من استعمال الرجلين 0 و 1 من أجل الدخل أو الخرج الرقمي بعدئذٍ. تستطيع استعمال مراقب الاتصالات التسلسلية المدمج في بيئة أردوينو التطويرية (Arduino IDE) للتواصل مع لوحة أردوينو. اضغط على زر مراقب الاتصال التسلسلي (serial monitor) في شريط الأدوات واختر معدل تدفق البيانات أو سرعة الاتصال (baud rate) نفسه الذي استُعمَل في تهيئة الاتصال باستدعاء الدالة <code>begin()‎</code>.
  
سطر 9: سطر 10:
  
 
تستعمل لوحة أردوينو Leonardo المنفذ Serial1 التسلسلي للتواصل عبر المنفذ TTL (بجهد 5V) في الرجلين 0 (RX) و 1 (TX). المنفذ Serial محجوز للاتصال USB CDC. لمزيد من المعلومات، ارجع إلى صفحة البدء الخاصة بلوحة Leonardo بالإضافة إلى صفحة العتاد.
 
تستعمل لوحة أردوينو Leonardo المنفذ Serial1 التسلسلي للتواصل عبر المنفذ TTL (بجهد 5V) في الرجلين 0 (RX) و 1 (TX). المنفذ Serial محجوز للاتصال USB CDC. لمزيد من المعلومات، ارجع إلى صفحة البدء الخاصة بلوحة Leonardo بالإضافة إلى صفحة العتاد.
 +
==<code>[[Arduino/serial/ifserial|if(Serial)‎]]</code>==
 +
تتحقَّق الدالة <code>if(Serial)‎</code> إن كان المنفذ <code>Serial</code> التسلسلي المُمرَّر إليها جاهزًا للاستعمال.
  
 
==<code>[[Arduino/serial/available|available]]</code>==
 
==<code>[[Arduino/serial/available|available]]</code>==
==<code>[[Arduino/serial/available|available]]</code>==
+
تجلب الدالة <code>available()‎</code> عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي.
 +
 
 
==<code>[[Arduino/serial/availableforwrite|availableforwrite]]</code>==
 
==<code>[[Arduino/serial/availableforwrite|availableforwrite]]</code>==
 +
تجلب الدالة <code>availableForWrite()‎</code> عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
 +
 
==<code>[[Arduino/serial/begin|begin]]</code>==
 
==<code>[[Arduino/serial/begin|begin]]</code>==
 +
تضبط الدالة <code>begin()‎</code> معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.
 +
 
==<code>[[Arduino/serial/end|end]]</code>==
 
==<code>[[Arduino/serial/end|end]]</code>==
 +
تعطِّل الدالة <code>end()‎</code> الاتصال التسلسلي المفتوح محرِّرةً بذلك الرجل 0 (RX) والرجل 1 (TX) لتصبح قابلةً للاستعمال كدخل أو خرج رقمي.
 +
 
==<code>[[Arduino/serial/find|find]]</code>==
 
==<code>[[Arduino/serial/find|find]]</code>==
 +
تتحقَّق الدالة <code>find()‎</code> من وجود السلسلة النصية المُمرَّرة إليها ضمن بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
 +
 
==<code>[[Arduino/serial/finduntil|finduntil]]</code>==
 
==<code>[[Arduino/serial/finduntil|finduntil]]</code>==
 +
تتحقَّق الدالة <code>findUntil()‎</code> من وجود السلسلة النصية المُمرَّرة إليها ضمن جزء محدَّد من بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
 +
 
==<code>[[Arduino/serial/flush|flush]]</code>==
 
==<code>[[Arduino/serial/flush|flush]]</code>==
 +
تنتظر الدالة <code>flush()‎</code> اكتمال عملية نقل البيانات المرسلة عبر الاتصال التسلسلي
 +
 
==<code>[[Arduino/serial/parsefloat|parsefloat]]</code>==
 
==<code>[[Arduino/serial/parsefloat|parsefloat]]</code>==
 +
تعيد الدالة <code>parseFloat()‎</code> أول [[Arduino/float|عدد عشري]] صالح من مخزَّن الاتصال التسلسلي المؤقت.
 +
 
==<code>[[Arduino/serial/parseint|parseint]]</code>==
 
==<code>[[Arduino/serial/parseint|parseint]]</code>==
 +
تعيد الدالة <code>parseInt()‎</code> أول [[Arduino/int|عدد صحيح]] صالح من مخزَّن الاتصال التسلسلي المؤقت.
 +
 
==<code>[[Arduino/serial/peek|peek]]</code>==
 
==<code>[[Arduino/serial/peek|peek]]</code>==
 +
تعيد الدالة <code>peek()‎</code> البايت (المحرف) التالي من البيانات المستلمة عبر الاتصال التسلسلي دون حذفه من المخزَّن الداخلي المؤقت للاتصال التسلسلي.
 +
 
==<code>[[Arduino/serial/print|print]]</code>==
 
==<code>[[Arduino/serial/print|print]]</code>==
 +
تطبع الدالة <code>print()‎</code> البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي نص يستطيع الأشخاص الآخرين قراءته). 
 +
 
==<code>[[Arduino/serial/println|println]]</code>==
 
==<code>[[Arduino/serial/println|println]]</code>==
 +
تطبع الدالة <code>println()‎</code> البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي نص يستطيع الأشخاص الآخرين قراءته) ثمَّ تتبعها بمحرف العودة إلى بداية السطر (المحرف 'r\' أو ASCII 13) ومحرف سطر جديد (المحرف 'n\' أو ASCII 10).
 +
 
==<code>[[Arduino/serial/read|read]]</code>==
 
==<code>[[Arduino/serial/read|read]]</code>==
 +
تقرأ الدالة <code>read()‎</code> البيانات المستلمة عبر الاتصال التسلسلي.
 +
 
==<code>[[Arduino/serial/readbytes|readbytes]]</code>==
 
==<code>[[Arduino/serial/readbytes|readbytes]]</code>==
 +
تقرأ الدالة <code>readBytes()‎</code> البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer). 
 +
 
==<code>[[Arduino/serial/readbytesuntil|readbytesuntil]]</code>==
 
==<code>[[Arduino/serial/readbytesuntil|readbytesuntil]]</code>==
 +
تقرأ الدالة <code>readBytesUntil()‎</code> جزءًا محدَّدًا من البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer)
 +
 
==<code>[[Arduino/serial/readstring|readstring]]</code>==
 
==<code>[[Arduino/serial/readstring|readstring]]</code>==
 +
تقرأ الدالة <code>readString()‎</code> المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.
 +
 
==<code>[[Arduino/serial/readstringuntil|readstringuntil]]</code>==
 
==<code>[[Arduino/serial/readstringuntil|readstringuntil]]</code>==
 +
تقرأ الدالة <code>readStringUntil()‎</code> جزءًا من المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.
 +
 
==<code>[[Arduino/serial/settimeout|settimeout]]</code>==
 
==<code>[[Arduino/serial/settimeout|settimeout]]</code>==
 +
تضبط الدالة <code>setTimeout()‎</code> المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
 +
 
==<code>[[Arduino/serial/write|write]]</code>==
 
==<code>[[Arduino/serial/write|write]]</code>==
 +
تكتب الدالة <code>write()‎</code> بيانات ثنائية على منفذ الاتصال التسلسلي.
 +
 
==<code>[[Arduino/serial/serialevent|serialevent]]</code>==
 
==<code>[[Arduino/serial/serialevent|serialevent]]</code>==
 +
تُستدعَى الدالة <code>serialEvent()‎</code> عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.
  
== انظر أيضًا ==
+
==انظر أيضًا==
 +
==مصادر==
 +
*[https://www.arduino.cc/reference/en/language/functions/communication/serial/ صفحة Serial في توثيق أردوينو الرسمي.]
  
== مصادر ==
+
*  
* [https://www.arduino.cc/reference/en/language/functions/communication/serial/ صفحة Serial في توثيق أردوينو الرسمي.]
 
 
[[تصنيف: Arduino]]
 
[[تصنيف: Arduino]]
 
[[تصنيف: Arduino Function]]
 
[[تصنيف: Arduino Function]]
 
[[تصنيف: Arduino Communication]]
 
[[تصنيف: Arduino Communication]]
 
[[تصنيف: Arduino Serial]]
 
[[تصنيف: Arduino Serial]]

مراجعة 07:50، 22 أكتوبر 2018


تستعمل واجهة التخاطب التسلسلية للتواصل بين لوحة أردوينو وأجهزة أخرى (مثل الحاسوب). تملك جميع لوحات أردوينو منفذ تسلسلي واحد على الأقل يُعرَف باسم UART أو USART. يستعمل هذا المنفذ الرجل 0 (RX) والرجل 1 (TX) في عملية التواصل، إذ تكون هاتان الرجلان موصلتين مع المنفذ USB للتواصل مع الحاسوب. نتيجةً لذلك، إن استعملت إحدى الدوال الموجودة في هذا القسم لتهيئة واجهة التخاطب التسلسلية والبدء باستعمالها، فلن تتمكن من استعمال الرجلين 0 و 1 من أجل الدخل أو الخرج الرقمي بعدئذٍ. تستطيع استعمال مراقب الاتصالات التسلسلية المدمج في بيئة أردوينو التطويرية (Arduino IDE) للتواصل مع لوحة أردوينو. اضغط على زر مراقب الاتصال التسلسلي (serial monitor) في شريط الأدوات واختر معدل تدفق البيانات أو سرعة الاتصال (baud rate) نفسه الذي استُعمَل في تهيئة الاتصال باستدعاء الدالة begin()‎.

يستعمل الاتصال التسلسلي الرجلين RX و TX المستويات TTL المنطقية (5V أو 3.3V بناءً على اللوحة المستعملة). لا توصل هذه الأرجل مباشرةً مع منفذ RS232 تسلسلي، إذ يعمل بجهد 12V -/+ وقد يسبِّب في إتلاف اللوحة.

تملك لوحة أردوينو Mega ثلاثة منافذ اتصال تسلسلية إضافية هي: المنفذ Serial1 على الرجلين 19 (RX) و 18 (TX)، والمنفذ Serial2 على الرجلين 17 (RX) و 16 (TX)، والمنفذ Serial3 على الرجلين 15 (RX) و 14 (TX). إن أردت استعمال هذه الأرجل في التواصل مع الحاسوب، فستحتاج إلى محول من المنفذ USB إلى منفذ تسلسلي (USB-to-serial adaptor). أمّا إن أردت استعمال هذه الأرجل للتواصل مع جهاز TTL تسلسلي خارجي، فصِل الرجل TX للوحتك مع الرجل RX لذلك الجهاز، والرجل RX للوحتك مع الرجل TX للجهاز الخارجي، والقطب الأرضي للوحتك (Mega) مع القطب الأرضي للجهاز.

تملك لوحة أردوينو Due ثلاثة منافذ TTL تسلسلي بجهد 3.3V إضافية هي: المنفذ Serial1 على الرجلين 19 (RX) و 18 (TX)، والمنفذ Serial2 على الرجلين 17 (RX) و 16 (TX)، والمنفذ Serial3 على الرجلين 15 (RX) و 14 (TX). الرجلان 0 و 1 موصولةٌ أيضًا مع ما يقابلها في المتحكم ATmega16U2 المستعمل كسريحة تحويل من منفذ USB إلى منفذ TTL تسلسلي، والموصول أيضًا مع المنفذ USB لتنقيح الأخطاء (USB debug port). أضف إلى ذلك أنه يوجد منفذ USB تسلسلي أصلي على شريحة المتحكم SAM3X يدعى SerialUSB.

تستعمل لوحة أردوينو Leonardo المنفذ Serial1 التسلسلي للتواصل عبر المنفذ TTL (بجهد 5V) في الرجلين 0 (RX) و 1 (TX). المنفذ Serial محجوز للاتصال USB CDC. لمزيد من المعلومات، ارجع إلى صفحة البدء الخاصة بلوحة Leonardo بالإضافة إلى صفحة العتاد.

if(Serial)‎

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

available

تجلب الدالة available()‎ عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي.

availableforwrite

تجلب الدالة availableForWrite()‎ عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.

begin

تضبط الدالة begin()‎ معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي.

end

تعطِّل الدالة end()‎ الاتصال التسلسلي المفتوح محرِّرةً بذلك الرجل 0 (RX) والرجل 1 (TX) لتصبح قابلةً للاستعمال كدخل أو خرج رقمي.

find

تتحقَّق الدالة find()‎ من وجود السلسلة النصية المُمرَّرة إليها ضمن بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.

finduntil

تتحقَّق الدالة findUntil()‎ من وجود السلسلة النصية المُمرَّرة إليها ضمن جزء محدَّد من بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.

flush

تنتظر الدالة flush()‎ اكتمال عملية نقل البيانات المرسلة عبر الاتصال التسلسلي

parsefloat

تعيد الدالة parseFloat()‎ أول عدد عشري صالح من مخزَّن الاتصال التسلسلي المؤقت.

parseint

تعيد الدالة parseInt()‎ أول عدد صحيح صالح من مخزَّن الاتصال التسلسلي المؤقت.

peek

تعيد الدالة peek()‎ البايت (المحرف) التالي من البيانات المستلمة عبر الاتصال التسلسلي دون حذفه من المخزَّن الداخلي المؤقت للاتصال التسلسلي.

print

تطبع الدالة print()‎ البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي نص يستطيع الأشخاص الآخرين قراءته). 

println

تطبع الدالة println()‎ البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي نص يستطيع الأشخاص الآخرين قراءته) ثمَّ تتبعها بمحرف العودة إلى بداية السطر (المحرف 'r\' أو ASCII 13) ومحرف سطر جديد (المحرف 'n\' أو ASCII 10).

read

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

readbytes

تقرأ الدالة readBytes()‎ البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer). 

readbytesuntil

تقرأ الدالة readBytesUntil()‎ جزءًا محدَّدًا من البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer)

readstring

تقرأ الدالة readString()‎ المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.

readstringuntil

تقرأ الدالة readStringUntil()‎ جزءًا من المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.

settimeout

تضبط الدالة setTimeout()‎ المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.

write

تكتب الدالة write()‎ بيانات ثنائية على منفذ الاتصال التسلسلي.

serialevent

تُستدعَى الدالة serialEvent()‎ عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.

انظر أيضًا

مصادر