Добрый день, форумчане.
Не получается сделать сброс при первом запуске таймера TIM1 на микроконтроллере stm32f030f4p6, т.е. при первом запуске не выдерживается задержка.
После установки бита UG получаю событие UIF, т.е. должны были бы обновиться регистры, но на самом деле первая задержка генерируется не 20мкс, а 89мкс. После этого идет уже 20мкс. В прерывании пока дергаю выход, чтобы можно было отследить анализатором.
Где может быть косяк?
Спасибо.
Не получается сделать сброс при первом запуске таймера TIM1 на микроконтроллере stm32f030f4p6, т.е. при первом запуске не выдерживается задержка.
Код: Выделить всё
RCC->APB2ENR |= RCC_APB2ENR_TIM1EN;
NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn, 1);
NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);
TIM1->PSC = 48 - 1;
TIM1->ARR = 20 - 1;
TIM1->EGR |= TIM_EGR_UG;
TIM1->SR &= ~TIM_SR_UIF;
TIM1->DIER |= TIM_DIER_UIE;
TIM1->CR1 |= TIM_CR1_CEN;Где может быть косяк?
Спасибо.
- Вложения
-
- image.png
- (28.62 КБ) 277 скачиваний
Последний раз редактировалось gruffi Ср сен 25, 2019 15:22:54, всего редактировалось 1 раз.
