| Форум РадиоКот https://radiokot.ru/forum/ |
|
| [РЕШЕНО]Не обновляются теневые регистры PSC м ARR https://radiokot.ru/forum/viewtopic.php?f=59&t=165716 |
Страница 1 из 1 |
| Автор: | gruffi [ Ср сен 25, 2019 14:50:04 ] | ||
| Заголовок сообщения: | [РЕШЕНО]Не обновляются теневые регистры PSC м ARR | ||
Добрый день, форумчане. Не получается сделать сброс при первом запуске таймера 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; После установки бита UG получаю событие UIF, т.е. должны были бы обновиться регистры, но на самом деле первая задержка генерируется не 20мкс, а 89мкс. После этого идет уже 20мкс. В прерывании пока дергаю выход, чтобы можно было отследить анализатором. Где может быть косяк? Спасибо.
|
|||
| Автор: | Eddy_Em [ Ср сен 25, 2019 15:13:16 ] |
| Заголовок сообщения: | Re: Не обновляются теневые регистры PSC м ARR |
TIM_EGR_UG нужен только в том случае, если вы используете TIM_CR1_ARPE. Без этого бита содержимое ARR изменяется сразу же, как только вы туда что-то записали. Но если таймер уже тикает, а записали число меньше, чем уже натикало, то дотикает до самого конца, и лишь потом будет уже до вашего значения считать. А у вас на тестовой ноге внешняя верхняя подтяжка? И какое значение по умолчанию при инициализации выставляется? Просто выглядит так, как будто бы как раз эти ~89мс — длительность инициализации остальной периферии. По окончанию вы искусственно генерируете ваш UG, в результате нога переходит в 1, а дальше уже работает сам таймер. |
|
| Автор: | gruffi [ Ср сен 25, 2019 15:22:05 ] |
| Заголовок сообщения: | Re: Не обновляются теневые регистры PSC м ARR |
Спасибо большое. Попали в точку |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


