Arduino/serial/readbytesuntil

من موسوعة حسوب

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

إن عثرت الدالة readBytesUntil()‎ على محرف الإنهاء المُمرَّر إليها، فستضع جميع المحارف التي قرأتها حتى المحرف الذي يسبق محرف الإنهاء (لا يدخل ضمن المحارف المقروءة) في المخزَّن المحدَّد.

ترث الدالة readBytesUntil()‎ من الصنف Stream.

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

Serial.readBytesUntil(character, buffer, length)

المعاملات

character

محرف يمثِّل محرف إنهاءٍ لعملية القراءة.

buffer

مخزنٌ مؤقت ستخزَّن فيه البايتات المقروءة (char[]‎ أو byte[]‎).

length

عدد صحيح يمثِّل عدد البايتات المراد قراءتها.

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

يعاد عدد المحارف التي قرئت وخزِّنت في المخزن buffer.

انظر أيضًا

  • الدالة available()‎: تجلب عدد البايتات (المحارف) المتاحة للقراءة من منفذ الاتصال التسلسلي.
  • الدالة findUntil()‎: تتحقَّق من وجود السلسلة النصية المُمرَّرة إليها ضمن جزء محدَّد من بيانات ذاكرة التخزين المؤقتة للاتصال التسلسلي.
  • الدالة parseInt()‎: تعيد أول عدد صحيح صالح من مخزَّن الاتصال التسلسلي المؤقت.
  • الدالة peek()‎: تعيد البايت (المحرف) التالي من البيانات المستلمة عبر الاتصال التسلسلي دون حذفه من المخزَّن الداخلي المؤقت للاتصال التسلسلي.
  • الدالة read()‎: تقرأ البيانات المستلمة عبر الاتصال التسلسلي.
  • الدالة readBytes()‎: تقرأ البيانات المستلمة عبر الاتصال التسلسلي وتضعها في متغير يمثِّل مخزن مؤقت (buffer). 
  • الدالة readString()‎: تقرأ المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.
  • الدالة readStringUntil()‎: تقرأ جزءًا من المحارف المستلمة عبر الاتصال التسلسلي وتعيدها كسلسلة نصية.
  • الدالة setTimeout()‎: تضبط المهلة الزمنية القصوى بالميلي ثانية لانتظار وصول البيانات من منفذ الاتصال التسلسلي.
  • الدالة serialEvent()‎: تُستدعَى عندما يكون هنالك بيانات متاحة للقراءة عبر منفذ الاتصال التسلسلي.

مصادر