klasa TimerChannel – konfiguracja kanału dla timera

Obiekt TimerChannel reprezentuje jeden z kanałów porównania na wyjściu (output-compare) lub przechwytywania na wejściu (input-capture) obiektu Timer. Kanały nie są tworzone bezpośrednio; są zwracane przez Timer.channel(), która jednocześnie konfiguruje kanał i zwraca obiekt opakowujący:

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

Poniższe metody dostosowują rejestr porównania/przechwytywania kanału w czasie działania programu i instalują wywołania zwrotne dla poszczególnych kanałów.

Konstruktory

class pyb.TimerChannel

Obiekty TimerChannel nie są tworzone bezpośrednio. Aby uzyskać taki obiekt, użyj Timer.channel().

Metody

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

Ustawia funkcję wywoływaną w momencie wyzwolenia kanału timera. Do fun przekazywany jest 1 argument - obiekt timera. Jeśli fun ma wartość None, wywołanie zwrotne zostanie wyłączone.

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

Pobiera lub ustawia wartość przechwytywania (capture) powiązaną z kanałem. capture, compare oraz pulse_width są aliasami tej samej funkcji. capture to logiczna nazwa używana, gdy kanał jest w trybie przechwytywania na wejściu (input capture).

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

Pobiera lub ustawia wartość porównania (compare) powiązaną z kanałem. capture, compare oraz pulse_width są aliasami tej samej funkcji. compare to logiczna nazwa używana, gdy kanał jest w trybie porównania na wyjściu (output compare).

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

Pobiera lub ustawia wartość szerokości impulsu (pulse_width) powiązaną z kanałem. capture, compare oraz pulse_width są aliasami tej samej funkcji. pulse_width to logiczna nazwa używana, gdy kanał jest w trybie PWM.

W trybie wyrównania do zbocza (edge aligned) wartość pulse_width równa period + 1 odpowiada wypełnieniu 100%. W trybie wyrównania do środka (center aligned) szerokość impulsu równa period odpowiada wypełnieniu 100%.

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

Pobiera lub ustawia procentową szerokość impulsu powiązaną z kanałem. Wartość jest liczbą z zakresu od 0 do 100 i określa procent okresu timera, przez który impuls jest aktywny. Wartość może być liczbą całkowitą lub zmiennoprzecinkową dla większej dokładności. Na przykład wartość 25 daje wypełnienie 25%.