class TimerChannel – aseta kanava ajastimelle

TimerChannel edustaa yhtä Timer-olion output-compare- tai input-capture-kanavista. Kanavia ei luoda suoraan; ne palauttaa Timer.channel(), joka sekä asettaa kanavan että palauttaa kääreolion:

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

Alla olevat metodit säätävät kanavan compare/capture-rekisteriä ajonaikaisesti ja asentavat kanavakohtaisia takaisinkutsuja.

Konstruktorit

class pyb.TimerChannel

TimerChannel-olioita ei luoda suoraan. Käytä metodia Timer.channel() sellaisen hankkimiseen.

Metodit

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

Asettaa funktion, jota kutsutaan ajastinkanavan lauetessa. fun-funktiolle välitetään 1 argumentti, ajastinolio. Jos fun on None, takaisinkutsu poistetaan käytöstä.

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

Hakee tai asettaa kanavaan liittyvän kaappausarvon (capture). capture, compare ja pulse_width ovat kaikki aliaksia samalle funktiolle. capture on looginen nimi käytettäväksi, kun kanava on input capture -tilassa.

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

Hakee tai asettaa kanavaan liittyvän vertailuarvon (compare). capture, compare ja pulse_width ovat kaikki aliaksia samalle funktiolle. compare on looginen nimi käytettäväksi, kun kanava on output compare -tilassa.

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

Hakee tai asettaa kanavaan liittyvän pulssin leveyden arvon (pulse_width). capture, compare ja pulse_width ovat kaikki aliaksia samalle funktiolle. pulse_width on looginen nimi käytettäväksi, kun kanava on PWM-tilassa.

Reunatasatussa tilassa pulse_width-arvo period + 1 vastaa 100 %:n pulssisuhdetta. Keskitasatussa tilassa pulssin leveys period vastaa 100 %:n pulssisuhdetta.

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

Hakee tai asettaa kanavaan liittyvän pulssin leveyden prosenttiarvon. Arvo on luku väliltä 0-100 ja asettaa prosenttiosuuden ajastimen jaksosta, jonka ajan pulssi on aktiivinen. Arvo voi olla kokonaisluku tai liukuluku tarkemman tuloksen saamiseksi. Esimerkiksi arvo 25 antaa 25 %:n pulssisuhteen.