Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
3555
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

Таймеры

330

Наиболее важной частью приложения является функция main(). Сначала мы инициализируем таймер TIM6 (который сконфигурирован для работы на частоте 100 кГц – это означает, что вывод PA5 устанавливается ВЫСОКИМ каждые 20 мкс = 50 кГц) с использованием функции MX_TIM6_Init(), а затем мы запускаем его в режиме DMA, как описано в данной главе. После этого мы запускаем TIM3 и включаем режим DMA на первом канале, используя функцию HAL_TIM_IC_Start_DMA() (строка 40). Массив захвата используется для хранения двух полученных подряд на канале захватов.

Строки [42:55] – это та часть, где мы вычисляем частоту внешнего сигнала. Когда выполняются два захвата, глобальная переменная captureDone устанавливается в 1 с помощью функции обратного вызова HAL_TIM_IC_CaptureCallback() (здесь не показана), которая вызывается в конце процесса захвата. Когда это происходит, мы вычисляем частоту дискретизации сигнала, используя уравнение [4].

11.3.5.1.Использование CubeMX для конфигурации режима захвата входного сигнала

Благодаря CubeMX достаточно легко сконфигурировать входные каналы таймера общего назначения в режиме захвата входного сигнала. Чтобы привязать один канал к соответствующему входу (т. е. IC1 к TI1), вы должны выбрать основной режим захвата входного сигнала Input capture direct mode для нужного канала, как показано на рисунке 19.

Рисунок 19: Как включить канал в основном режиме захвата входного сигнала

Напротив, чтобы отобразить другой канал пары (IC1, IC2) или (IC3, IC4) на один и тот же вход (то есть TI1 или TI2 для (IC1, IC2)), можно включить в паре другой канал в косвенном режиме захвата входного сигнала Input capture indirect mode, как показано на рисунке 20. Наконец, из представления конфигурации TIMx (здесь не показано) можно сконфигурировать другие параметры захвата входного сигнала (полярность канала, его фильтр и т. д.).

Рисунок 20. Как включить канал в косвенном режиме захвата входного сигнала