Arduino/serial/begin

من موسوعة حسوب
مراجعة 12:40، 21 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (أنشأ الصفحة ب'تضبط الدالة <code>begin()‎</code> معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الا...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تضبط الدالة begin()‎ معدل تدفق البتات في الثانية الواحدة (baud) لعملية نقل البيانات عبر الاتصال التسلسلي. من أجل التواصل مع الحاسوب، استعمال أحد معدلات تدفق البيانات التالية: 300، أو 600، أو 1200، أو 2400، أو 4800، أو 9600، 14400، أو 19200، أو 28800، أو 38400، 57600، 115200. مع ذلك، تستطيع تحديد معدلات نقل أخرى للتواصل عبر الرجلين 0 و 1 مع جهاز أو عنصر يتطلب معدل تدفق بيانات محدَّد.

يضبط المعامل الثاني الاختيار المُمرَّر إلى الدالة begin()‎ بتات البيانات، التماثل (parity)، والإيقاف. القيمة الافتراضية هي 8 بتات للبيانات وبت للإيقاف وعدم وجود بتات للتحقق من التماثل.

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

Serial.begin(speed) 
Serial.begin(speed, config)

// فقط Mega لوحات أردوينو
Serial1.begin(speed)
Serial2.begin(speed)
Serial3.begin(speed)
Serial1.begin(speed, config)
Serial2.begin(speed, config)
Serial3.begin(speed, config)

المعاملات

speed

عدد طويل يحدِّد معدل تدفق البتات في كل ثانية (baud).

config

يحدِّد عدد بتات البيانات والتحقق من التماثل (parity) والإيقاف. القيم المتاحة التي يمكن استعمالها هي:

  • SERIAL_5N1
  • SERIAL_6N1
  • SERIAL_7N1
  • SERIAL_8N1 (القيمة الافتراضية)
  • SERIAL_5N2
  • SERIAL_6N2
  • SERIAL_7N2
  • SERIAL_8N2
  • SERIAL_5E1
  • SERIAL_6E1
  • SERIAL_7E1
  • SERIAL_8E1
  • SERIAL_5E2
  • SERIAL_6E2
  • SERIAL_7E2
  • SERIAL_8E2
  • SERIAL_5O1
  • SERIAL_6O1
  • SERIAL_7O1
  • SERIAL_8O1
  • SERIAL_5O2
  • SERIAL_6O2
  • SERIAL_7O2
  • SERIAL_8O2

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

لا يعاد أي شيء.

أمثلة

مثال على استعمال الدالة begin()‎ لتهيئة واجهة التخاطب التسلسلية وبدئها:

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

void loop() {}

المثال التالي خاص بلوحة أردوينو Mega. يعمل المثال على تهيئة منافذ الاتصال التسلسلية الأربعة التي تملكها اللوحة:

// أربعة منافذ اتصال تسلسلية Mega تملك لوحة أردوينو
// (Serial, Serial1, Serial2, Serial3),
// يمكن أن يكون لكل واحد منها معدل تدفق بيانات مختلق عن الآخر

void setup(){
  Serial.begin(9600);
  Serial1.begin(38400);
  Serial2.begin(19200);
  Serial3.begin(4800);

  Serial.println("Hello Computer");
  Serial1.println("Hello Serial 1");
  Serial2.println("Hello Serial 2");
  Serial3.println("Hello Serial 3");
}
void loop() {}

انظر أيضًا

مصادر