Часть 1 - Введение.
Таймеры. Вообще по моему, да и не только по моему мнению таймеры являются одним из основных модулей которые больше всего используются в МК. Поэтому, мы поэтапно рассмотрим этот модуль.
Строго говоря, в самом простом варианте таймер представляет собой счётчик, который через предделитель завязан на шину тактового сигнала. Под это определение подходят все таймеры в МК STM32F407.
Особенностью STM32 является то, что предделитель это 16 битный счетчик который можно устанавливать на любое значение (действительным будет значение регистра предделителя + 1). Это даёт большую гибкость в настройке таймеров.
Помимо предделителя и счетчика, в таймере есть ещё блок обработки прерываний. Это дает определённую гибкость. Во всех таймерах есть событие на переполнение. Это основное положение.
В некоторых таймерах присутствуют только эти блоки. К этим таймерам относятся:
- SysTick - 32 битный таймер входящий в состав ядра Cortex-M4F.
- Базовые таймеры - TIM6(7). 16 битный таймер. Можно использовать по своему усмотрению, однако 6-ой таймер необходим для модуля DAC (ЦАП) как задающий тактовую частоту элемент.
- Основные таймеры TIM9 - 14. По сути группа является базовой для всех остальных.
Количество дополнительных блоков в модуле этого таймера различно: для TIM9(12) оно равно двум каналам. Для остальных (TIM10,11,13,14) только один канал. - Основные таймеры TIM2 - 5. Отличается от предыдущей тем что увеличено количество каналов с 2 до 4. Также присутствует смежная логика для каналов.
- Расширенные таймеры TIM1(8). Представляют собой самую продвинутую в прямом смысле этого слова версию таймеров. Помимо функционала предыдущей группы, также в наличии есть некоторые опции, позволяющие использовать этот таймер эффективно для управления безколлекторными электродвигателями. Кстати, насчет этой полезной опции у ST есть несколько примеров.
Продолжение следует...
Комментариев нет:
Отправить комментарий