class TimerChannel – einen Kanal für einen Timer einrichten

Ein TimerChannel repräsentiert einen der Output-Compare- oder Input-Capture-Kanäle eines Timer. Kanäle werden nicht direkt konstruiert; sie werden von Timer.channel() zurückgegeben, das den Kanal konfiguriert und das Wrapper-Objekt zurückgibt:

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

Die folgenden Methoden passen das Compare-/Capture-Register des Kanals zur Laufzeit an und installieren Callbacks pro Kanal.

Konstruktoren

class pyb.TimerChannel

TimerChannel-Objekte werden nicht direkt konstruiert. Verwenden Sie Timer.channel(), um eines zu erhalten.

Methoden

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

Legt die Funktion fest, die aufgerufen wird, wenn der Timer-Kanal auslöst. fun wird 1 Argument übergeben, das Timer-Objekt. Wenn fun None ist, wird der Callback deaktiviert.

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

Ruft den einem Kanal zugeordneten Capture-Wert ab oder setzt ihn. capture, compare und pulse_width sind alles Aliase für dieselbe Funktion. capture ist der logische Name, der verwendet wird, wenn sich der Kanal im Input-Capture-Modus befindet.

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

Ruft den einem Kanal zugeordneten Compare-Wert ab oder setzt ihn. capture, compare und pulse_width sind alles Aliase für dieselbe Funktion. compare ist der logische Name, der verwendet wird, wenn sich der Kanal im Output-Compare-Modus befindet.

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

Ruft den einem Kanal zugeordneten Impulsbreitenwert ab oder setzt ihn. capture, compare und pulse_width sind alles Aliase für dieselbe Funktion. pulse_width ist der logische Name, der verwendet wird, wenn sich der Kanal im PWM-Modus befindet.

Im flankenausgerichteten Modus entspricht eine pulse_width von period + 1 einem Tastverhältnis von 100 %. Im mittenausgerichteten Modus entspricht eine Impulsbreite von period einem Tastverhältnis von 100 %

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

Ruft den einem Kanal zugeordneten Impulsbreiten-Prozentsatz ab oder setzt ihn. Der Wert ist eine Zahl zwischen 0 und 100 und legt den Prozentsatz der Timer-Periode fest, für den der Impuls aktiv ist. Der Wert kann eine ganze Zahl oder eine Gleitkommazahl für mehr Genauigkeit sein. Ein Wert von 25 ergibt beispielsweise ein Tastverhältnis von 25 %.