Arduino/serial/println

من موسوعة حسوب
< Arduino‏ | serial
مراجعة 07:43، 22 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (أنشأ الصفحة ب'تطبع الدالة <code>println()‎</code> البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

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

Serial.println(val)
Serial.println(val, format)

المعاملات

val

البيانات المراد طباعتها على منفذ الاتصال التسلسلي.

format

معامل اختياري يحدِّد تنسيق (أساس) البيانات المراد طباعتها. القيم المتاحة التي يمكن استعمالها هي:

  • BIN(binary, or base 2)‎
  • OCT(octal, or base 8)‎
  • DEC(decimal, or base 10)‎
  • HEX(hexadecimal, or base 16)‎

إن كان المعامل val عددًأ عشريًّا، فسيُحدِّد هذا المعامل دقة ذلك العدد (عدد الأرقام بعد الفاصلة).

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

يعاد عدد البايتات التي كُتبَت.

أمثلة

قراءة دخل تشابهي من الرجل 0 وإرسال القيمة عبر منفذ الاتصال التسلسلي:

/*
 created 24 March 2006
 by Tom Igoe
 */

int analogValue = 0;    // متغير لتخزين القيمة المراد قراءتها

void setup() {
  // فتح منفذ اتصال تسلسلي بمعدل 9600 بت/ثا
  Serial.begin(9600);
}

void loop() {
  // قراءة الدخل التشابهي من الرجل 0
  analogValue = analogRead(0);

  // طباعة القيمة المقروءة بتنسيقات مختلفة
  Serial.println(analogValue);       // print as an ASCII-encoded decimal
  Serial.println(analogValue, DEC);  // print as an ASCII-encoded decimal
  Serial.println(analogValue, HEX);  // print as an ASCII-encoded hexadecimal
  Serial.println(analogValue, OCT);  // print as an ASCII-encoded octal
  Serial.println(analogValue, BIN);  // print as an ASCII-encoded binary

  // الانتظار لمدة 10 ميلي ثانية قبل إعادة تكرار  العملية
  delay(10);

انظر أيضًا

  • الدالة availableForWrite()‎: تجلب عدد البايتات (المحارف) المتاحة للكتابة في ذاكرة التخزين المؤقتة لمنفذ الاتصال التسلسلي دون حجب عملية الكتابة.
  • الدالة end()‎: تعطِّل الاتصال التسلسلي المفتوح محرِّرةً بذلك الرجل 0 (RX) والرجل 1 (TX) لتصبح قابلةً للاستعمال كدخل أو خرج رقمي.
  • الدالة flush()‎: تنتظر اكتمال عملية نقل البيانات المرسلة عبر الاتصال التسلسلي
  • الدالة print()‎: تطبع البيانات المُمرَّرة إليها على منفذ الاتصال التسلسلي بترميز ASCII (أي نص يستطيع الأشخاص الآخرين قراءته). 
  • الدالة read()‎: تقرأ البيانات المستلمة عبر الاتصال التسلسلي.
  • الدالة write()‎: تكتب بيانات ثنائية على منفذ الاتصال التسلسلي.

مصادر