-
- Мне надо менять величину интервала, ту что в регистре ARR Правда с
этим то же пока не понятно, вроде бы выбрал режим "сквозная запись
без буфера", а эффекта от записываемого нет, интервал остается
старым. Только если вручную поставлю флаг обновления (TIM_EGR_UG),
тогда работает. - AlexBi(14.02.2022 15:35)
- Буферизацией ARR управляет бит ARPE в регистре CR1. Он точно сброшен? - ЫЫyкпy(14.02.2022 19:16)
- А у меня нормально работает из-под HAL'а, например: Kceния(23 знак., 14.02.2022 18:47)
- Авторы HAL предлагают писать LL_TIM_SetAutoReload(TIM11, число);
Прекрасный пример, демонстрирующий чего стоят все их "абстракции". - ЫЫyкпy(14.02.2022 19:06)
- LL_TIM_SetAutoReload(TIM11, число) делает то же самое, т.к. она inline того же самого выражения. Однако посоветую LL-примитивами пользоваться как можно реже, заменяя их прямыми операциями с регистрами - так можно избежать участи стать рабом HAL'а :) и со временем научиться понимать чужой код, написанный без использования HAL'а. - Kceния(14.02.2022 19:35)
- Авторы HAL предлагают писать LL_TIM_SetAutoReload(TIM11, число);
Прекрасный пример, демонстрирующий чего стоят все их "абстракции". - ЫЫyкпy(14.02.2022 19:06)
- Так и надо. Вообще, таймеры в STM32 это такая штука, на которой можно сделать что угодно. Для освоения этой кухни надо приложить некоторые усилия, но оно того стоит. В помощь - AN4776 - STM32 General-purpose timer cookbook - il-2(14.02.2022 15:58)
- Мне надо менять величину интервала, ту что в регистре ARR Правда с
этим то же пока не понятно, вроде бы выбрал режим "сквозная запись
без буфера", а эффекта от записываемого нет, интервал остается
старым. Только если вручную поставлю флаг обновления (TIM_EGR_UG),
тогда работает. - AlexBi(14.02.2022 15:35)