Arduino/serial/write

من موسوعة حسوب
مراجعة 07:45، 22 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (أنشأ الصفحة ب'تكتب الدالة <code>write()‎</code> بيانات ثنائية على منفذ الاتصال التسلسلي. تُرسَل هذه البيانات كبايت...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تكتب الدالة 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()‎: تقرأ البيانات المستلمة عبر الاتصال التسلسلي.
  • الدالة write()‎: تكتب بيانات ثنائية على منفذ الاتصال التسلسلي.

مصادر