клас 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 аргумент – об’єкт таймера. Якщо fun має значення None, зворотний виклик буде вимкнено.

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.

У режимі вирівнювання по фронту, pulse_width рівний period + 1 відповідає робочому циклу 100%. У режимі вирівнювання по центру, pulse_width рівний period відповідає робочому циклу 100%.

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

Отримує або встановлює відсоток ширини імпульсу, пов’язаний з каналом. Значення є числом від 0 до 100 і встановлює відсоток period таймера, протягом якого імпульс активний. Значення може бути цілим або числом з плаваючою точкою для більшої точності. Наприклад, значення 25 дає робочий цикл 25%.