class TimerChannel -- thiết lập một kênh cho bộ định thời¶
Một TimerChannel đại diện cho một trong các kênh output-compare hoặc input-capture của Timer. Các kênh không được khởi tạo trực tiếp; chúng được trả về bởi Timer.channel(), phương thức này vừa cấu hình kênh vừa trả lại đối tượng bao bọc:
timer = pyb.Timer(2, freq=1000)
ch2 = timer.channel(2, pyb.Timer.PWM, pin=pyb.Pin.board.P1,
pulse_width_percent=25)
Các phương thức bên dưới điều chỉnh thanh ghi compare/capture của kênh trong thời gian chạy và cài đặt các hàm gọi lại cho từng kênh.
Hàm khởi tạo¶
- class pyb.TimerChannel¶
Các đối tượng
TimerChannelkhông được khởi tạo trực tiếp. Sử dụngTimer.channel()để lấy một đối tượng.Các phương thức¶
- callback(fun: Callable[[Timer], None] | None) None¶
Đặt hàm được gọi khi kênh bộ định thời kích hoạt.
funđược truyền 1 đối số là đối tượng bộ định thời. NếufunlàNonethì hàm gọi lại sẽ bị vô hiệu hóa.
- capture(value: int | None = None) int | None¶
Lấy hoặc đặt giá trị capture liên kết với một kênh. capture, compare và pulse_width đều là bí danh cho cùng một hàm. capture là tên logic để sử dụng khi kênh ở chế độ input capture.
- compare(value: int | None = None) int | None¶
Lấy hoặc đặt giá trị compare liên kết với một kênh. capture, compare và pulse_width đều là bí danh cho cùng một hàm. compare là tên logic để sử dụng khi kênh ở chế độ output compare.
- pulse_width(value: int | None = None) int | None¶
Lấy hoặc đặt giá trị độ rộng xung liên kết với một kênh. capture, compare và pulse_width đều là bí danh cho cùng một hàm. pulse_width là tên logic để sử dụng khi kênh ở chế độ PWM.
Ở chế độ căn chỉnh cạnh, pulse_width bằng
period + 1tương ứng với chu kỳ nhiệm vụ 100%. Ở chế độ căn chỉnh trung tâm, pulse_width bằngperiodtương ứng với chu kỳ nhiệm vụ 100%
- pulse_width_percent(value: int | float | None = None) int | float | None¶
Lấy hoặc đặt phần trăm độ rộng xung liên kết với một kênh. Giá trị là số từ 0 đến 100 và đặt phần trăm chu kỳ bộ định thời mà xung hoạt động. Giá trị có thể là số nguyên hoặc số thực để đạt độ chính xác cao hơn. Ví dụ, giá trị 25 cho chu kỳ nhiệm vụ là 25%.