الفئة ExtInt -- تهيئة دبابيس الدخل/الخرج لتوليد مقاطعة عند الأحداث الخارجية¶
تقسّم وحدات STM32 المتحكمة الدقيقة متحكم المقاطعات الخارجية (EXTI) إلى مجالين: الخطوط 0-15 تُقاد من دبابيس GPIO، والخطوط فوق 15 مرتبطة بمصادر داخلية (منبّه RTC، وإيقاظ RTC، وإيقاظ USB، إلخ). يعتمد العدد الإجمالي للخطوط وتعيين الخطوط الداخلية فوق 15 على نوع وحدة المتحكم الدقيق؛ راجع قسم EXTI في الدليل المرجعي لوحدة المتحكم الدقيق الخاصة بـ OpenMV Cam لمعرفة التعيينات الدقيقة.
يمكن قيادة كل خط GPIO يحمل الرقم N بواسطة الدبوس PxN على أي منفذ GPIO واحد في كل مرة -- على سبيل المثال قد يُعيَّن الخط 0 إلى PA0 أو PB0 أو PC0 أو أي دبوس رقم 0 آخر من المنفذ A حتى المنفذ K، ولكن واحداً فقط في كل مرة.
مثال:
def callback(line):
print("line =", line)
extint = pyb.ExtInt(pin, pyb.ExtInt.IRQ_FALLING, pyb.Pin.PULL_UP, callback)
بعد ذلك تستدعي كل حافة هابطة على pin الدالة callback. تهيّئ ExtInt خط GPIO تلقائياً كدخل؛ ولا حاجة لأن تفعل ذلك بنفسك.
ملاحظة
تُحدث أزرار الضغط الميكانيكية "ارتداداً" وغالباً ما يولّد الضغط أو التحرير الواحد عدة حواف. راجع على سبيل المثال هذا الدليل التمهيدي حول إزالة الارتداد لمعرفة التقنيات.
يؤدي تسجيل دالتي رد نداء على الدبوس نفسه إلى إطلاق استثناء.
إذا مُرّر pin كعدد صحيح فيُفترض أنه يحدد أحد خطوط المقاطعة الداخلية ويجب أن يكون >= 16 وأقل من العدد الإجمالي لخطوط EXTI في وحدة المتحكم الدقيق. وأي قيمة دبوس أخرى تُحلّ عبر مُعيِّن الدبابيس القياسي.
بالإضافة إلى أوضاع IRQ_* توجد أوضاع الأحداث EVT_RISING وEVT_FALLING وEVT_RISING_FALLING التي توجّه الانتقال إلى دخل أحداث المعالج (يُستخدم مع تعليمة WFE للانتظار منخفض الطاقة). لا تستدعي أوضاع EVT_* دالة رد النداء في Python وهي مخصصة لاستخدام السكون / إدارة الطاقة؛ ويجب أن تستخدم شيفرة التطبيق العادية أوضاع IRQ_*.
المُنشئات¶
- class pyb.ExtInt(pin: int | str | Pin, mode: int, pull: int, callback: Callable[[int], None])¶
إنشاء كائن
ExtInt.pin-- الدبوس المراد تفعيل المقاطعة عليه. قد يكون كائنPin، أو سلسلة نصية باسم الدبوس، أو عدداً صحيحاً في المدى16-21لاختيار مصدر مقاطعة داخلي.mode-- وضع الإطلاق. أحد القيم التالية:الثابت
الإطلاق
حافة صاعدة.
حافة هابطة.
إما حافة صاعدة أو هابطة.
pull-- تهيئة سحب الدبوس. أحد القيمpyb.Pin.PULL_NONEأوpyb.Pin.PULL_UPأوpyb.Pin.PULL_DOWN.callback-- كائن قابل للاستدعاء يُستدعى عند الإطلاق. يجب أن يقبل وسيطاً واحداً بالضبط: رقم خط EXTI الذي أُطلق.
طرائق الفئة¶
الطرائق¶
الثوابت¶