Что делает ClockDivision в отличие от Prescaler для таймеров STM32?

Я использую плату STM32 (серия F7) и просматриваю документацию HAL API. Когда я инициализирую таймер, я вижу два значения Prescalerи ClockDivision. Теперь я понимаю, что Prescalerиспользуется для деления частоты часов. Однако что ClockDivisionделать? Я вижу, что у него есть три возможных значения: DIV1, DIV2, и DIV4.

Мой автоматически сгенерированный код говорит следующее.

введите описание изображения здесь

введите описание изображения здесь

Я нашел предварительный делитель и главный PLL в руководстве пользователя STM32, но не упомянул делитель, который может быть внешним по отношению к MPU. Нам нужна диаграмма или изображение HAL, чтобы понять, о чем вы говорите.
Добавлен скриншот кода с расширением ClockDivision. Я попытался превратить код в блок кода вместо того, чтобы вставлять изображение, но, похоже, он неправильно форматируется...

Ответы (1)

С большим допущением, что все, что ниже, соответствует действительности или, по крайней мере, соответствует описанию серии F7. Я могу быть совершенно не прав! Пожалуйста, проверьте дважды!

Согласно описанию регистра таблицы данных семейства stm32 F4 , «ClockDivision» означает

CKD: это битовое поле указывает коэффициент деления между частотой тактового генератора таймера (CK_INT) и тактовым сигналом мертвого времени и тактовой частотой дискретизации (tDTS), используемым генераторами мертвого времени и цифровыми фильтрами (ETR, TIx).

00: tDTS=tCK_INT

01: tDTS=2*tCK_INT

10: tDTS=4*tCK_INT

11: Зарезервировано, не программируйте это значение.

Я не смог найти какой-либо конкретной документации, относящейся к серии F7, и я не совсем осведомлен об использовании генераторов мертвого времени, но ETR означает «вход внешнего триггера».

Остерегайтесь TIM1 — это специальный таймер, то же описание не относится к другим таймерам общего назначения (например, TIM2 и т. д.).

Кроме того, документация HAL API особенно бесполезна, поскольку представляет собой просто совокупность всех комментариев библиотеки HAL без какого-либо описания. Если вы все еще заинтересованы, это может быть полезно для вас.

Это то же самое описание для TIM1/TIM8 F7. См. главы 22.4.1 справочного руководства STM32F7 . Для остальных таймеров почти такое же описание, но упоминаются только цифровые фильтры, а не генератор мертвого времени (см. разделы 23.4.1, 24.4.1, 24.5.1).
Аналогичный вопрос и обсуждение, ссылка для потомков: community.st.com/s/question/0D50X0000B42Wh5/…