الفرق بين المراجعتين ل"Arduino/interrupts/nointerrupts"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إضافة محتويات الصفحة.)
 
ط
سطر 28: سطر 28:
 
* الدالة <code>[[Arduino/interrupts/interrupts|interrupts()‎]]</code>: تعيد تفعيل عمل المقاطعات بعد إيقافها عبر استدعاء الدالة <code>[[Arduino/interrupts/nointerrupts|nointerrupts()‎]]</code>.
 
* الدالة <code>[[Arduino/interrupts/interrupts|interrupts()‎]]</code>: تعيد تفعيل عمل المقاطعات بعد إيقافها عبر استدعاء الدالة <code>[[Arduino/interrupts/nointerrupts|nointerrupts()‎]]</code>.
  
*
 
 
==مصادر==
 
==مصادر==
 
*[https://www.arduino.cc/reference/en/language/functions/interrupts/nointerrupts/ صفحة الدالة noInterrupts()‎ في توثيق أردوينو الرسمي.]
 
*[https://www.arduino.cc/reference/en/language/functions/interrupts/nointerrupts/ صفحة الدالة noInterrupts()‎ في توثيق أردوينو الرسمي.]

مراجعة 07:22، 21 أكتوبر 2018

تعطِّل الدالة noInterrupts()‎ عمل جميع المقاطعات في لوحة أروينو. يمكن إعادة تفعيلها عبر استدعاء الدالة interrupts()‎.

تسمح المقاطعات بتنفيذ مهام معيَّنة في الخلفية وتكون مفعَّلة افتراضيًّا. لن تعمل بعض الدوال وقد تُتجاهل بعض الاتصالات الواردة إن كانت المقاطعات معطَّلة. يمكن للمقاطعات أن تُحدِث خللا بسيطًا في توقيت البرنامج؛ مع ذلك، قد تُعطَّل في بعض الأجزاء المهمة والحرجة من الشيفرة.

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

noInterrupts()

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

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

أمثلة

استعمال الدالة noInterrupts()‎ لتعطيل المقاطعات في الأجزاء المهمة من الشيفرة ثم إعادة تفعيلها:

void setup() {}

void loop()
{
  noInterrupts();
  // جزء حرج وحساس جدًا للتوقيت هنا 
  interrupts();
  // إعادة تفعيل المقاطعات لبقية أجزاء الشيفرة
}

انظر أيضًا

  • الدالة attachInterrupt()‎: تفعِّل مقاطعة خارجية معيَّنة على إحدى الأرجل في لوحة أردينو.
  • الدالة detachInterrupt()‎: تعطِّل عمل مقاطعة خارجية معيَّنة مرتبطة بإحدى أرجل اللوحة.
  • الدالة interrupts()‎: تعيد تفعيل عمل المقاطعات بعد إيقافها عبر استدعاء الدالة nointerrupts()‎.

مصادر