class TimerChannel – configurarea unui canal pentru un temporizator

Un TimerChannel reprezintă unul dintre canalele de comparare de ieșire (output-compare) sau de captură de intrare (input-capture) ale unui Timer. Canalele nu sunt construite direct; ele sunt returnate de Timer.channel(), care atât configurează canalul, cât și returnează obiectul wrapper:

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

Metodele de mai jos ajustează registrul de comparare/captură al canalului în timpul execuției și instalează funcții de retroapelare per canal.

Constructori

class pyb.TimerChannel

Obiectele TimerChannel nu sunt construite direct. Folosiți Timer.channel() pentru a obține unul.

Metode

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

Setează funcția care urmează să fie apelată când canalul temporizatorului se declanșează. Lui fun îi este transmis 1 argument, obiectul temporizator. Dacă fun este None, atunci funcția de retroapelare va fi dezactivată.

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

Obține sau setează valoarea de captură asociată unui canal. capture, compare și pulse_width sunt toate aliasuri pentru aceeași funcție. capture este numele logic care trebuie folosit atunci când canalul este în modul de captură de intrare.

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

Obține sau setează valoarea de comparare asociată unui canal. capture, compare și pulse_width sunt toate aliasuri pentru aceeași funcție. compare este numele logic care trebuie folosit atunci când canalul este în modul de comparare de ieșire.

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

Obține sau setează valoarea lățimii impulsului asociată unui canal. capture, compare și pulse_width sunt toate aliasuri pentru aceeași funcție. pulse_width este numele logic care trebuie folosit atunci când canalul este în modul PWM.

În modul aliniat pe muchie, o pulse_width de period + 1 corespunde unui factor de umplere de 100% În modul aliniat pe centru, o lățime de impuls de period corespunde unui factor de umplere de 100%

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

Obține sau setează procentajul lățimii impulsului asociat unui canal. Valoarea este un număr între 0 și 100 și setează procentajul din perioada temporizatorului în care impulsul este activ. Valoarea poate fi un număr întreg sau în virgulă mobilă pentru o precizie mai mare. De exemplu, o valoare de 25 oferă un factor de umplere de 25%.