Я пытаюсь добиться переключения пин-кода gpio в TIM_Handler () при прерывании ШИМ. В настоящее время gpio переключается после некоторой задержки падения фронта pwm. Но Я ожидаю переключать gpio на каждом фронте ШИМ. пожалуйста, помогите мне достичь этого.
Моя конфигурация TIM для STM32F030R8 - MCU выглядит следующим образом
TIM16 включен в CubeMx
Выбранные генерации ШИМ CH1 и CH1N
Ширина импульса 50%
Выбранное глобальное прерывание TIM16
Код, генерируемый CubeMX
In main. c
добавлено HAL_TIM_PWM_Start_IT (& htim16, TIM_CHANNEL_1);
добавлено HAL_TIMEx_PWMN_Start_IT (& htim16, TIM_CHANNEL_1);
* 10 * 290
1029 * под обработчиком таймера, что я написал, это
**void TIM16_IRQHandler(void)
{
GPIOA->BSRR = (uint32_t)GPIO_PIN_10;
HAL_TIM_IRQHandler(&htim16);
GPIOA->BRR = (uint32_t)GPIO_PIN_10;
}**
Желтый - это ШИМ, а зеленый - это gpio toggle. Вы можете увидеть переключатели gpio после нарастания фронта ШИМ и некоторой задержки.