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¶
TimerChannelnesneleri doğrudan oluşturulmaz. Bir tane elde etmek içinTimer.channel()kullanın.Metotlar¶
- callback(fun: Callable[[Timer], None] | None) None¶
Zamanlayıcı kanalı tetiklendiğinde çağrılacak fonksiyonu ayarlar.
funfonksiyonuna 1 argüman, zamanlayıcı nesnesi geçirilir.funNoneise 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 + 1değerindeki bir pulse_width %100 görev döngüsüne (duty cycle) karşılık gelir. Merkez hizalı modda,perioddeğ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.