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)

下列方法可在執行階段調整通道的比較/捕捉暫存器,並安裝各通道專屬的 callback。

建構子

class pyb.TimerChannel

TimerChannel 物件並非直接建構。請使用 Timer.channel() 來取得一個。

方法

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

設定當計時器通道觸發時要呼叫的函式。fun 會收到 1 個引數,即計時器物件。若 funNone,則 callback 將被停用。

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% 的工作週期。