class TimerChannel – configurer un canal pour un minuteur

Un objet TimerChannel représente l’un des canaux de comparaison de sortie ou de capture d’entrée d’un Timer. Les canaux ne sont pas construits directement ; ils sont renvoyés par Timer.channel(), qui à la fois configure le canal et retourne l’objet d’encapsulation

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

Les méthodes ci-dessous ajustent à l’exécution le registre de comparaison/capture du canal et installent des fonctions de rappel propres à chaque canal.

Constructeurs

class pyb.TimerChannel

Les objets TimerChannel ne sont pas construits directement. Utilisez Timer.channel() pour en obtenir un.

Méthodes

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

Définit la fonction à appeler lorsque le canal de minuteur se déclenche. fun reçoit 1 argument, l’objet minuteur. Si fun vaut None, alors la fonction de rappel sera désactivée.

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

Lit ou définit la valeur de capture associée à un canal. capture, compare et pulse_width sont tous des alias de la même fonction. capture est le nom logique à utiliser lorsque le canal est en mode capture d’entrée.

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

Lit ou définit la valeur de comparaison associée à un canal. capture, compare et pulse_width sont tous des alias de la même fonction. compare est le nom logique à utiliser lorsque le canal est en mode comparaison de sortie.

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

Lit ou définit la valeur de largeur d’impulsion associée à un canal. capture, compare et pulse_width sont tous des alias de la même fonction. pulse_width est le nom logique à utiliser lorsque le canal est en mode PWM.

En mode aligné sur les fronts (edge aligned), une pulse_width de period + 1 correspond à un rapport cyclique de 100 %. En mode aligné au centre (center aligned), une largeur d’impulsion de period correspond à un rapport cyclique de 100 %.

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

Lit ou définit le pourcentage de largeur d’impulsion associé à un canal. La valeur est un nombre compris entre 0 et 100 et définit le pourcentage de la période du minuteur pendant lequel l’impulsion est active. La valeur peut être un entier ou un nombre à virgule flottante pour plus de précision. Par exemple, une valeur de 25 donne un rapport cyclique de 25 %.