class TimerChannel -- タイマー用のチャンネルを設定する

TimerChannel は、Timer の出力コンペアチャンネルまたは入力キャプチャチャンネルの1つを表します。チャンネルは直接構築されるのではなく、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 はすべて同じ関数のエイリアスです。pulse_width は、チャンネルがPWMモードのときに使用する論理名です。

エッジアラインメントモードでは、period + 1 のpulse_widthが100%のデューティサイクルに対応します。センターアラインメントモードでは、period のパルス幅が100%のデューティサイクルに対応します。

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

チャンネルに関連付けられたパルス幅の割合を取得または設定します。値は0から100の数値で、パルスがアクティブであるタイマー周期の割合を設定します。値は整数または浮動小数点数で、後者の方がより高い精度が得られます。例えば、25の値は25%のデューティサイクルを与えます。