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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إضافة محتويات الصفحة.)
 
ط
سطر 28: سطر 28:
 
* الدالة <code>[[Arduino/interrupts/nointerrupts|noInterrupts()‎]]</code>: تعطِّل عمل جميع المقاطعات في لوحة أردوينو.
 
* الدالة <code>[[Arduino/interrupts/nointerrupts|noInterrupts()‎]]</code>: تعطِّل عمل جميع المقاطعات في لوحة أردوينو.
  
*
 
 
==مصادر==
 
==مصادر==
 
<span> </span>
 
<span> </span>

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

تعيد الدالة interrupts()‎ تفعيل عمل المقاطعات بعد إيقافها عبر استدعاء الدالة nointerrupts()‎.

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

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

interrupts()

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

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

أمثلة

استعمال الدالة interrupts()‎ لتفعيل المقاطعات بعد تعطيلها في الأجزاء المهمة:

void setup() {}

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

انظر أيضًا

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

مصادر