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

من موسوعة حسوب
مراجعة 18:18، 6 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يكتب التابع write()‎ بيانات ثنائية على منفذ الاتصال التسلسلي. تُرسَل هذه البيانات كبايت أو سلسلة من البايتات. إن أردت إرسال محارف تمثِّل أرقام عددٍ، فاستعمل التابع print()‎ عوضًا ذلك.

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

Serial.write(val)
Serial.write(str)
Serial.write(buf, len)

// أيضًا Serial3, Serial2, Serial1 استعمال المنافذ Mega تدعم لوحات أردوينو

المعاملات

val

قيمةٌ يراد إرسالها على أنَّها بايتٌ مفردٌ.

str

سلسلةٌ نصيةٌ يراد إرسالها بشكل سلسلة من البايتات المفردة.

buf

مصفوفةٌ يراد إرسالها بشكل سلسلة من البايتات المفردة.

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

يعاد عدد البايتات التي كُتبَت على المنفذ التسلسلي.

أمثلة

استعمال التابع write()‎ لإرسال بايت واحد وسلسلة من البايتات إلى المنفذ التسلسلي:

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

void loop(){
  Serial.write(45); // إرسال بايت قيمته 45

   int bytesSent = Serial.write(hello); // وتخزين طولها بعد نجاح العملية “hello” إرسال السلسلة النصية
}

انظر أيضًا

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

مصادر