class TimerChannel – configurazione di un canale per un timer

Un TimerChannel rappresenta uno dei canali di output-compare o input-capture di un Timer. I canali non vengono costruiti direttamente; vengono restituiti da Timer.channel(), che sia configura il canale sia restituisce l’oggetto wrapper:

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

I metodi seguenti regolano a runtime il registro di compare/capture del canale e installano le callback per canale.

Costruttori

class pyb.TimerChannel

Gli oggetti TimerChannel non vengono costruiti direttamente. Utilizzare Timer.channel() per ottenerne uno.

Metodi

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

Imposta la funzione da chiamare quando il canale del timer si attiva. A fun viene passato 1 argomento, l’oggetto timer. Se fun è None allora la callback verrà disabilitata.

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

Legge o imposta il valore di capture associato a un canale. capture, compare e pulse_width sono tutti alias della stessa funzione. capture è il nome logico da utilizzare quando il canale è in modalità input capture.

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

Legge o imposta il valore di compare associato a un canale. capture, compare e pulse_width sono tutti alias della stessa funzione. compare è il nome logico da utilizzare quando il canale è in modalità output compare.

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

Legge o imposta il valore della larghezza di impulso associato a un canale. capture, compare e pulse_width sono tutti alias della stessa funzione. pulse_width è il nome logico da utilizzare quando il canale è in modalità PWM.

In modalità edge aligned, una pulse_width di period + 1 corrisponde a un duty cycle del 100%. In modalità center aligned, una larghezza di impulso pari a period corrisponde a un duty cycle del 100%

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

Legge o imposta la percentuale della larghezza di impulso associata a un canale. Il valore è un numero compreso tra 0 e 100 e imposta la percentuale del periodo del timer per cui l’impulso è attivo. Il valore può essere un intero o un numero in virgola mobile per una maggiore precisione. Ad esempio, un valore di 25 dà un duty cycle del 25%.