Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TIM1 в STM32F100C8
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
ruslannd
Доброго времени суток.

Не могу получить частоты на выходе TIM1_CH4 (он же PA11, он же USART1_CTS)
Пин проца переходит в 0 и все((((

Вот код:
CODE
RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
AFIO->MAPR &= ~(AFIO_MAPR_TIM1_REMAP_0 | AFIO_MAPR_TIM1_REMAP_1); //NO TIM1 remapping
RCC->APB2ENR &= ~(RCC_APB2ENR_USART1EN); //UART1 is off
RCC->APB2ENR |= RCC_APB2ENR_TIM1EN;

GPIOA->CRH |= (0x0BUL << 12); //T1CH4 is out (PA11)

TIM1->CR1 = 0;

TIM1->ARR = 10001;
TIM1->CCR4 = 10000;
TIM1->CCMR2 |= (TIM_CCMR2_OC4M_0 | TIM_CCMR2_OC4M_1);
TIM1->CCER |= (TIM_CCER_CC4E);
TIM1->CNT = 0;
TIM1->EGR |= TIM_EGR_UG;

TIM1->CR1 |= (TIM_CR1_CEN);


Хелп ми, плс....
adnega
TIM1->BDTR = TIM_BDTR_MOE; ?
ruslannd
Цитата(adnega @ Jul 6 2015, 23:25) *
TIM1->BDTR = TIM_BDTR_MOE; ?


Оно самое. Спасибо.
MrYuran
А мне не помогло.
Переправил инициализацию на TIM3 - все работает, ногами машет. TIM1 - ни в какую. Ремапятся одинаково, Full remap, но вот с TIM1 что-то пошло не так.
Может, кто сталкивался? Все регистры уже передергал, пока без результата.

Камень 100VBT, счетчик запустился - тикает, а до выходов не доходит.
ViKo
А что висит на другом конце провода, идущего с ноги МК? rolleyes.gif
MrYuran
Цитата(ViKo @ Apr 8 2016, 10:52) *
А что висит на другом конце провода, идущего с ноги МК? rolleyes.gif

Пока ничего, осциллограф.
нога сконфигурирована как AF_PP с ремапом на порт GPIOE (9,11,13)
и вот ощущение, что ремап как раз и не работает.
adnega
Цитата(MrYuran @ Apr 8 2016, 11:25) *
Пока ничего, осциллограф.
нога сконфигурирована как AF_PP с ремапом на порт GPIOE (9,11,13)
и вот ощущение, что ремап как раз и не работает.

Тактирование порта GPIOE есть?
MrYuran
Цитата(adnega @ Apr 8 2016, 11:48) *
Тактирование порта GPIOE есть?

Есть. Дергал туда-обратно, не помогает.
Искал отличия от TIM3, кроме регистра дедтайма не нашел. Но он вроде не должен влиять
ViKo
Для этого самого ремапа тоже такты включаются, кажется. Я уже не помню, как там в F1xx.
MrYuran
Вывел на ногу PA8, без ремапа. То же самое. Значит, собака в другом месте покопалась.
Сергей Борщ
QUOTE (MrYuran @ Apr 8 2016, 14:51) *
Вывел на ногу PA8, без ремапа. То же самое. Значит, собака в другом месте покопалась.
Там у AFIO свой бит включения тактирования, он включен?
MrYuran
Цитата(Сергей Борщ @ Apr 8 2016, 16:07) *
Там у AFIO свой бит включения тактирования, он включен?

AFIOEN в APB2ENR? включен, конечно же.
TIM3 в совершенно аналогичной конфигурации работает как надо. И другая периферия, типа USART

А тут даже не знаю, чего бы ещё покрутить.
Как вручную из отладки ногами таймера помахать? Начиная с конца, то есть непосредственно с вывода
scifi
Цитата(MrYuran @ Apr 8 2016, 16:28) *
А тут даже не знаю, чего бы ещё покрутить.

Можно посмотреть на различия между TIM1 и TIM3. Тот же регистр BDTR, как сказано выше. Ну и проверьте ещё раз настройку Alternate Function. Для пущей уверенности можно сверить с конфигуратором пинов из куба.
ViKo
Хотя бы, как GPIO, нога машет? Хотя, если на двух портах не работает, то это не то.
Там таймеры от одной шины APB тактируются, или от разных?
MrYuran
Все, заработало.

В н-ный раз проверил все регистры, напоследок включил как GPIO, помахал вручную ногой, потом включил ремап, помахал в режиме OCxM = 100, потом включил ШИМ, а он возьми и заработай.

Чудеса.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.