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
TimerChannelnon vengono costruiti direttamente. UtilizzareTimer.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
funviene passato 1 argomento, l’oggetto timer. SefunèNoneallora 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 + 1corrisponde a un duty cycle del 100%. In modalità center aligned, una larghezza di impulso pari aperiodcorrisponde 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%.