Например TDA7294

Форум РадиоКот • Просмотр темы - [РЕШЕНО]Не обновляются теневые регистры PSC м ARR
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб авг 15, 2020 22:46:03

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: [РЕШЕНО]Не обновляются теневые регистры PSC м ARR
СообщениеДобавлено: Ср сен 25, 2019 14:50:04 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Чт дек 29, 2011 16:25:56
Сообщений: 81
Рейтинг сообщения: 0
Добрый день, форумчане.
Не получается сделать сброс при первом запуске таймера 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мкс. В прерывании пока дергаю выход, чтобы можно было отследить анализатором.

Где может быть косяк?
Спасибо.


Вложения:
image.png [28.62 KiB]
Скачиваний: 185


Последний раз редактировалось gruffi Ср сен 25, 2019 15:22:54, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не обновляются теневые регистры PSC м ARR
СообщениеДобавлено: Ср сен 25, 2019 15:13:16 
Вымогатель припоя

Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 602
Рейтинг сообщения: 0
TIM_EGR_UG нужен только в том случае, если вы используете TIM_CR1_ARPE. Без этого бита содержимое ARR изменяется сразу же, как только вы туда что-то записали.
Но если таймер уже тикает, а записали число меньше, чем уже натикало, то дотикает до самого конца, и лишь потом будет уже до вашего значения считать.

А у вас на тестовой ноге внешняя верхняя подтяжка? И какое значение по умолчанию при инициализации выставляется?
Просто выглядит так, как будто бы как раз эти ~89мс — длительность инициализации остальной периферии. По окончанию вы искусственно генерируете ваш UG, в результате нога переходит в 1, а дальше уже работает сам таймер.

_________________
Я на гитхабе, в ЖЖ


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Не обновляются теневые регистры PSC м ARR
СообщениеДобавлено: Ср сен 25, 2019 15:22:05 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Чт дек 29, 2011 16:25:56
Сообщений: 81
Рейтинг сообщения: 0
Спасибо большое. Попали в точку :). Подтяжка к питанию и при включении выход сброшен. Установил выход и теперь задержка в норме.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y