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
TimerChannelnu sunt construite direct. FolosițiTimer.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ăfunesteNone, 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 + 1corespunde unui factor de umplere de 100% În modul aliniat pe centru, o lățime de impuls deperiodcorespunde 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%.