class TimerChannel – een kanaal voor een timer instellen

Een TimerChannel vertegenwoordigt één van de output-compare- of input-capture-kanalen van een Timer. Kanalen worden niet rechtstreeks geconstrueerd; ze worden geretourneerd door Timer.channel(), die het kanaal zowel configureert als het wrapperobject teruggeeft:

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

De onderstaande methoden passen het compare/capture-register van het kanaal tijdens runtime aan en installeren callbacks per kanaal.

Constructors

class pyb.TimerChannel

TimerChannel-objecten worden niet rechtstreeks geconstrueerd. Gebruik Timer.channel() om er een te verkrijgen.

Methods

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

Stel de functie in die wordt aangeroepen wanneer het timerkanaal activeert. Aan fun wordt 1 argument doorgegeven, het timerobject. Als fun None is, wordt de callback uitgeschakeld.

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

Verkrijg of stel de capture-waarde in die aan een kanaal is gekoppeld. capture, compare en pulse_width zijn allemaal aliassen voor dezelfde functie. capture is de logische naam om te gebruiken wanneer het kanaal in input capture-modus staat.

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

Verkrijg of stel de compare-waarde in die aan een kanaal is gekoppeld. capture, compare en pulse_width zijn allemaal aliassen voor dezelfde functie. compare is de logische naam om te gebruiken wanneer het kanaal in output compare-modus staat.

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

Verkrijg of stel de pulsbreedtewaarde in die aan een kanaal is gekoppeld. capture, compare en pulse_width zijn allemaal aliassen voor dezelfde functie. pulse_width is de logische naam om te gebruiken wanneer het kanaal in PWM-modus staat.

In edge aligned-modus komt een pulse_width van period + 1 overeen met een duty cycle van 100%. In center aligned-modus komt een pulsbreedte van period overeen met een duty cycle van 100%

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

Verkrijg of stel het pulsbreedtepercentage in dat aan een kanaal is gekoppeld. De waarde is een getal tussen 0 en 100 en stelt het percentage van de timerperiode in waarvoor de puls actief is. De waarde kan een geheel getal of een drijvendekommagetal zijn voor meer nauwkeurigheid. Een waarde van 25 geeft bijvoorbeeld een duty cycle van 25%.