Здравствуйте, написал программу на ХАЛе в которой по внешним прерываниям запускаются таймеры в режиме ван пульс, которые в свою очередь запускают ШИМ, а потом следующее прерывание ШИМ отключает и так по-кругу. Все работает, но в прерывании вызываются ХАЛовские функции, а это как я понимаю, не лучший вариант. просто поднимать флаги внутри обработчика - тоже не айс, хочется минимальной задержки от прерывания до выполнения привязанного к нему кода. Выходит что нужно обращаться к регистрам напрямую. Как правильно заменить функции HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_2); HAL_TIM_Base_Start_IT(&htim4); ? что-то мне подсказывает, что просто TIMх -> CR1 = TIM_CR1_CEN; будет недостаточно, как минимум в первый раз(прерывания например разрешить) и что с режимом ван пульс, в ХАЛе перед очередным запуском таймера в этом режиме нужно было его отдельно останавливать, а при прямом обращении к регистрам? И второе: сейчас всё обрабатывается в колбеках, есть ли смысл переписать всё на обработчики прерываний в целях ускорения? Спасибо)