classe TimerChannel – configura um canal para um timer

Um TimerChannel representa um dos canais de comparação de saída (output-compare) ou de captura de entrada (input-capture) de um Timer. Os canais não são construídos diretamente; eles são retornados por Timer.channel(), que tanto configura o canal quanto devolve o objeto wrapper:

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

Os métodos abaixo ajustam o registrador de comparação/captura do canal em tempo de execução e instalam callbacks por canal.

Construtores

class pyb.TimerChannel

Os objetos TimerChannel não são construídos diretamente. Use Timer.channel() para obter um.

Métodos

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

Define a função a ser chamada quando o canal do timer disparar. fun recebe 1 argumento, o objeto timer. Se fun for None então o callback será desabilitado.

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

Obtém ou define o valor de captura associado a um canal. capture, compare e pulse_width são todos aliases para a mesma função. capture é o nome lógico a ser usado quando o canal está no modo de captura de entrada (input capture).

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

Obtém ou define o valor de comparação associado a um canal. capture, compare e pulse_width são todos aliases para a mesma função. compare é o nome lógico a ser usado quando o canal está no modo de comparação de saída (output compare).

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

Obtém ou define o valor de largura de pulso associado a um canal. capture, compare e pulse_width são todos aliases para a mesma função. pulse_width é o nome lógico a ser usado quando o canal está no modo PWM.

No modo alinhado por borda (edge aligned), um pulse_width de period + 1 corresponde a um ciclo de trabalho de 100%. No modo alinhado ao centro (center aligned), uma largura de pulso de period corresponde a um ciclo de trabalho de 100%

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

Obtém ou define a porcentagem de largura de pulso associada a um canal. O valor é um número entre 0 e 100 e define a porcentagem do período do timer durante a qual o pulso fica ativo. O valor pode ser um inteiro ou um número de ponto flutuante para maior precisão. Por exemplo, um valor de 25 resulta em um ciclo de trabalho de 25%.