MicroPython:Библиотеки/pyb/Класс Timer/Timer.init()
Материал из Онлайн справочника
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Timer.init(*, freq, prescaler, period, mode=Timer.UP, div=1, callback=None, deadtime=0)[1]
Timer.init(*, freq, prescaler, period, mode=Timer.UP, div=1, callback=None, deadtime=0)
Инициализирует таймер. Инициализацию можно выполнить либо с помощью частоты (в Гц), либо с помощью делителя частоты (prescaler) и периода (period):
# задаем, чтобы таймер срабатывал на 100 Гц:
tim.init(freq=100)
# напрямую задаем делитель частоты и период:
tim.init(prescaler=83, period=999)
Именованные аргументы:
- freq – здесь задается периодическая частота таймера. Этот параметр можно также рассматривать как частоту, с которой таймер проходит через один полный цикл.
- prescaler – это значение (в диапазоне 0-0xffff), загружаемое в таймерный регистр делителя (PSC). Исходная частота таймера делится на (prescaler + 1), давая в результате частоту отсчитывания. Исходная частота таймеров 2-7 и 12-14 – это 84 МГц (pyb.freq()[2] * 2)), а таймеров 1 и 8-11 – 168 МГц (pyb.freq()[3] * 2)).
- period – это значение, загружаемое в таймерный регистр автозагрузки (ARR). Для таймеров 1, 3, 4 и 6-15 это значение в диапазоне 0-0xffff, а для таймеров 2 и 5 – в диапазоне между 0-0x3fffffff. Это значение задает период таймера (т.е. порог, после которого счетчик таймера обнуляется). Счетчик будет обнулен после достижения значения (period + 1).
- mode – здесь может быть одно из следующих значений:
- div – здесь может быть «1», «2» или «4». Это значение, на которое делится тактовая частота, чтобы определить частоту семплирования, используемую цифровыми фильтрами.
- callback – здесь задается функция обратного вызова, как в callback().
- deadtime – здесь задается время задержки между сигналами на комплиментарных каналах (во время этой задержки оба канала будут неактивны). Значение в deadtime может быть целым числом в диапазоне между «0» и «1008», но с некоторыми ограничениями: в диапазоне 0-128 шаг 1, в диапазоне 128-256 – 2, в диапазоне 256-512 – 8, в диапазоне 512-1008 – 16. Единица измерения в deadtime – это частота source_freq, поделенная на div. Задержка deadtime доступна только на таймерах 1 и 8.
Нужно обязательно задать либо freq, либо одновременно prescaler и period.