class TimerChannel – bir zamanlayıcı için kanal kurma

Bir TimerChannel, bir Timer nesnesinin çıkış karşılaştırma (output-compare) veya giriş yakalama (input-capture) kanallarından birini temsil eder. Kanallar doğrudan oluşturulmaz; hem kanalı yapılandıran hem de sarmalayıcı (wrapper) nesneyi geri veren Timer.channel() tarafından döndürülürler:

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

Aşağıdaki metotlar, kanalın karşılaştırma/yakalama yazmacını çalışma zamanında ayarlar ve kanal başına geri çağırmaları kurar.

Kurucular

class pyb.TimerChannel

TimerChannel nesneleri doğrudan oluşturulmaz. Bir tane elde etmek için Timer.channel() kullanın.

Metotlar

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

Zamanlayıcı kanalı tetiklendiğinde çağrılacak fonksiyonu ayarlar. fun fonksiyonuna 1 argüman, zamanlayıcı nesnesi geçirilir. fun None ise geri çağırma devre dışı bırakılır.

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

Bir kanalla ilişkili yakalama (capture) değerini alır veya ayarlar. capture, compare ve pulse_width aynı fonksiyonun takma adlarıdır. capture, kanal giriş yakalama modundayken kullanılacak mantıksal addır.

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

Bir kanalla ilişkili karşılaştırma (compare) değerini alır veya ayarlar. capture, compare ve pulse_width aynı fonksiyonun takma adlarıdır. compare, kanal çıkış karşılaştırma modundayken kullanılacak mantıksal addır.

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

Bir kanalla ilişkili darbe genişliği (pulse width) değerini alır veya ayarlar. capture, compare ve pulse_width aynı fonksiyonun takma adlarıdır. pulse_width, kanal PWM modundayken kullanılacak mantıksal addır.

Kenar hizalı modda, period + 1 değerindeki bir pulse_width %100 görev döngüsüne (duty cycle) karşılık gelir. Merkez hizalı modda, period değerindeki bir darbe genişliği %100 görev döngüsüne karşılık gelir.

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

Bir kanalla ilişkili darbe genişliği yüzdesini alır veya ayarlar. Değer 0 ile 100 arasında bir sayıdır ve darbenin aktif olduğu zamanlayıcı periyodunun yüzdesini ayarlar. Değer, daha fazla doğruluk için bir tam sayı veya kayan noktalı sayı olabilir. Örneğin, 25 değeri %25’lik bir görev döngüsü (duty cycle) verir.