الفرق بين المراجعتين لصفحة: «Arduino/interrupts/interrupts»

من موسوعة حسوب
طلا ملخص تعديل
طلا ملخص تعديل
 
سطر 33: سطر 33:
[[تصنيف: Arduino]]
[[تصنيف: Arduino]]
[[تصنيف: Arduino Function]]
[[تصنيف: Arduino Function]]
[[تصنيف: Arduino Interrupts]]
[[تصنيف: Arduino Interrupt]]

المراجعة الحالية بتاريخ 07:42، 21 أكتوبر 2018

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

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

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

interrupts()

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

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

أمثلة

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

void setup() {}

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

انظر أيضًا

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

مصادر