реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> TIM1 в STM32F100C8
ruslannd
сообщение Jul 6 2015, 20:00
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783



Доброго времени суток.

Не могу получить частоты на выходе 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);


Хелп ми, плс....
Go to the top of the page
 
+Quote Post
adnega
сообщение Jul 6 2015, 20:25
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



TIM1->BDTR = TIM_BDTR_MOE; ?
Go to the top of the page
 
+Quote Post
ruslannd
сообщение Jul 7 2015, 02:52
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783



Цитата(adnega @ Jul 6 2015, 23:25) *
TIM1->BDTR = TIM_BDTR_MOE; ?


Оно самое. Спасибо.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 8 2016, 06:49
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



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

Камень 100VBT, счетчик запустился - тикает, а до выходов не доходит.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 8 2016, 07:52
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А что висит на другом конце провода, идущего с ноги МК? rolleyes.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 8 2016, 08:25
Сообщение #6


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(ViKo @ Apr 8 2016, 10:52) *
А что висит на другом конце провода, идущего с ноги МК? rolleyes.gif

Пока ничего, осциллограф.
нога сконфигурирована как AF_PP с ремапом на порт GPIOE (9,11,13)
и вот ощущение, что ремап как раз и не работает.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 8 2016, 08:48
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



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

Тактирование порта GPIOE есть?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 8 2016, 08:52
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



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

Есть. Дергал туда-обратно, не помогает.
Искал отличия от TIM3, кроме регистра дедтайма не нашел. Но он вроде не должен влиять


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 8 2016, 08:55
Сообщение #9


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Для этого самого ремапа тоже такты включаются, кажется. Я уже не помню, как там в F1xx.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 8 2016, 12:51
Сообщение #10


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Вывел на ногу PA8, без ремапа. То же самое. Значит, собака в другом месте покопалась.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 8 2016, 13:07
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (MrYuran @ Apr 8 2016, 14:51) *
Вывел на ногу PA8, без ремапа. То же самое. Значит, собака в другом месте покопалась.
Там у AFIO свой бит включения тактирования, он включен?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 8 2016, 13:28
Сообщение #12


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Сергей Борщ @ Apr 8 2016, 16:07) *
Там у AFIO свой бит включения тактирования, он включен?

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

А тут даже не знаю, чего бы ещё покрутить.
Как вручную из отладки ногами таймера помахать? Начиная с конца, то есть непосредственно с вывода


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 8 2016, 13:53
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(MrYuran @ Apr 8 2016, 16:28) *
А тут даже не знаю, чего бы ещё покрутить.

Можно посмотреть на различия между TIM1 и TIM3. Тот же регистр BDTR, как сказано выше. Ну и проверьте ещё раз настройку Alternate Function. Для пущей уверенности можно сверить с конфигуратором пинов из куба.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 8 2016, 15:50
Сообщение #14


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Хотя бы, как GPIO, нога машет? Хотя, если на двух портах не работает, то это не то.
Там таймеры от одной шины APB тактируются, или от разных?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 11 2016, 11:03
Сообщение #15


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Все, заработало.

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

Чудеса.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01474 секунд с 7
ELECTRONIX ©2004-2016