class TimerChannel -- إعداد قناة لمؤقت

يمثّل TimerChannel إحدى قنوات مقارنة الخرج أو التقاط الدخل لـ Timer. لا تُنشأ القنوات مباشرة؛ بل تُرجَع بواسطة Timer.channel()، التي تقوم بتكوين القناة وإعادة الكائن الغلاف معًا:

timer = pyb.Timer(2, freq=1000)
ch2 = timer.channel(2, pyb.Timer.PWM, pin=pyb.Pin.board.P1,
                    pulse_width_percent=25)

تضبط الطرائق أدناه سجل المقارنة/الالتقاط الخاص بالقناة أثناء وقت التشغيل وتثبّت دوال رد النداء الخاصة بكل قناة.

المنشئات

class pyb.TimerChannel

لا تُنشأ كائنات TimerChannel مباشرة. استخدم Timer.channel() للحصول على واحد.

الطرائق

callback(fun: Callable[[Timer], None] | None) None

يضبط الدالة التي سيتم استدعاؤها عند إطلاق قناة المؤقت. يُمرَّر إلى fun وسيط واحد، وهو كائن المؤقت. إذا كان fun يساوي None فسيتم تعطيل دالة رد النداء.

capture(value: int | None = None) int | None

يقرأ أو يضبط قيمة الالتقاط المرتبطة بقناة. capture و compare و pulse_width كلها أسماء بديلة للدالة نفسها. capture هو الاسم المنطقي الذي يُستخدم عندما تكون القناة في وضع التقاط الدخل.

compare(value: int | None = None) int | None

يقرأ أو يضبط قيمة المقارنة المرتبطة بقناة. capture و compare و pulse_width كلها أسماء بديلة للدالة نفسها. compare هو الاسم المنطقي الذي يُستخدم عندما تكون القناة في وضع مقارنة الخرج.

pulse_width(value: int | None = None) int | None

يقرأ أو يضبط قيمة عرض النبضة المرتبطة بقناة. capture و compare و pulse_width كلها أسماء بديلة للدالة نفسها. pulse_width هو الاسم المنطقي الذي يُستخدم عندما تكون القناة في وضع PWM.

في الوضع المحاذي للحافة، يقابل عرض النبضة period + 1 دورة عمل بنسبة 100%. وفي الوضع المحاذي للمركز، يقابل عرض النبضة period دورة عمل بنسبة 100%

pulse_width_percent(value: int | float | None = None) int | float | None

يقرأ أو يضبط النسبة المئوية لعرض النبضة المرتبطة بقناة. القيمة عدد بين 0 و100 وتحدد النسبة المئوية من دورة المؤقت التي تكون النبضة نشطة خلالها. يمكن أن تكون القيمة عددًا صحيحًا أو عددًا بفاصلة عائمة لمزيد من الدقة. على سبيل المثال، تعطي القيمة 25 دورة عمل بنسبة 25%.