class TimerChannel —— 为定时器设置一个通道

TimerChannel 表示一个 Timer 的输出比较或输入捕获通道之一。通道不是直接构造的;它们由 Timer.channel() 返回,该方法既配置通道,又返回封装对象:

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

下列方法可在运行时调整通道的比较/捕获寄存器,并安装每个通道的回调。

构造函数

class pyb.TimerChannel

TimerChannel 对象不是直接构造的。请使用 Timer.channel() 来获取一个。

方法

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

设置定时器通道触发时要调用的函数。fun 会被传入 1 个参数,即定时器对象。如果 funNone,则回调将被禁用。

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

获取或设置与通道关联的捕获值。capture、compare 和 pulse_width 都是同一函数的别名。当通道处于输入捕获模式时,capture 是更合适的逻辑名称。

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

获取或设置与通道关联的比较值。capture、compare 和 pulse_width 都是同一函数的别名。当通道处于输出比较模式时,compare 是更合适的逻辑名称。

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

获取或设置与通道关联的脉冲宽度值。capture、compare 和 pulse_width 都是同一函数的别名。当通道处于 PWM 模式时,pulse_width 是更合适的逻辑名称。

在边沿对齐模式下,period + 1 的 pulse_width 对应 100% 的占空比。在中心对齐模式下,period 的脉冲宽度对应 100% 的占空比。

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

获取或设置与通道关联的脉冲宽度百分比。该值是 0 到 100 之间的数,用于设置脉冲处于激活状态的时间占定时器周期的百分比。该值可以是整数或浮点数,以获得更高的精度。例如,值为 25 时占空比为 25%。