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

 
 
> Запуск одного таймера от другого, stm32f103
Quantum1
сообщение Aug 7 2014, 06:47
Сообщение #1


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

Группа: Участник
Сообщений: 111
Регистрация: 4-09-12
Пользователь №: 73 381



Добрый день!

Пытаюсь на камне stm32f103 сделать следующее.

Первый таймер считает, на процовой частоте к примеру, досчитав до определенного значения запускает еще два таймера в режиме одного импульса.
Основная цель что бы эти 2 таймера запускались точно в заданный момент и одновременно. А и еще, это должно происходить автоматически, т.е. не програмно - настроил таймеры запустил первый и забыл.

Пытаюсь с триггеры таймеров крутить, но черт возьми - ничего не выходит.

Если подскажите как это сделать буду крайне благодарен, желательно на spl*)

Спасибо!

Сообщение отредактировал Quantum1 - Aug 7 2014, 06:48
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение Aug 8 2014, 07:28
Сообщение #2


Гуру
******

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



Цитата(Quantum1 @ Aug 7 2014, 10:47) *
Если подскажите как это сделать буду крайне благодарен, желательно на spl*)

Нужно использовать каскадное включение таймеров. Первый таймер будет мастером для двух других таймеров, которые будут слейвами. Есть так называемый "Gated Mode" или как Вы уже правильно заметили "Trigger Mode".
Распишите поробнее TRGO мастер-таймера и TRGI слейвов.
Типа TIM1->PWM1->TRGO
TRGI_TIM1->ITR0->TIM2
TRGI_TIM1->ITR0->TIM3

Второй вариант TIM->CR2: MMS
Цитата
Enable - the Counter Enable signal CNT_EN is used as trigger output (TRGO). It is
useful to start several timers at the same time or to control a window in which a slave timer is
enable. The Counter Enable signal is generated by a logic OR between CEN control bit and
the trigger input when configured in gated mode. When the Counter Enable signal is
controlled by the trigger input, there is a delay on TRGO, except if the master/slave mode is
selected (see the MSM bit description in TIMx_SMCR register).
Go to the top of the page
 
+Quote Post
Quantum1
сообщение Aug 8 2014, 11:24
Сообщение #3


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

Группа: Участник
Сообщений: 111
Регистрация: 4-09-12
Пользователь №: 73 381



Цитата(adnega @ Aug 8 2014, 11:28) *
Нужно использовать каскадное включение таймеров. Первый таймер будет мастером для двух других таймеров, которые будут слейвами. Есть так называемый "Gated Mode" или как Вы уже правильно заметили "Trigger Mode".
Распишите поробнее TRGO мастер-таймера и TRGI слейвов.
Типа TIM1->PWM1->TRGO
TRGI_TIM1->ITR0->TIM2
TRGI_TIM1->ITR0->TIM3

Второй вариант TIM->CR2: MMS


А может сумеете подсказать какой-нить рабочий пример?



Цитата(Haamu @ Aug 8 2014, 10:39) *
Почему бы не запустить эти два таймера в прерывании от первого? Будет конечно разница в несколько системных тиков. Или синхронность абсолютная нужна? Поясните задачу целиком.


с прерываниями не вариант - нужно, что бы запустил и забыл.
Go to the top of the page
 
+Quote Post
adnega
сообщение Aug 8 2014, 11:46
Сообщение #4


Гуру
******

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



Цитата(Quantum1 @ Aug 8 2014, 15:24) *
А может сумеете подсказать какой-нить рабочий пример?

Собственно, я его и привел.
Хоите конкретики, вначале сами дайте конкретику.
Какие таймеры доступны, какие интервалы нужны, вплоть до конкретных пинов МК и т.п?
Go to the top of the page
 
+Quote Post
Quantum1
сообщение Aug 12 2014, 11:53
Сообщение #5


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

Группа: Участник
Сообщений: 111
Регистрация: 4-09-12
Пользователь №: 73 381



Цитата(adnega @ Aug 8 2014, 15:46) *
Собственно, я его и привел.
Хоите конкретики, вначале сами дайте конкретику.
Какие таймеры доступны, какие интервалы нужны, вплоть до конкретных пинов МК и т.п?


А зачем интервалы и тем более пины?

Нужен просто пример где один таймер, к примеру при CNT=CCR1, запускает другие два таймера, к примеру в режиме одиночного импульса. Какая разница будет там секунда или микросекунда в периоде.
Сама идея что нужно делать понятна...
Я пробовал играться с SPL, но результат нулевой... вообще некоторые функции связанные с триггерами мне мало понятны, у сожалению*)
Да, я пытался расписывать все эти мастеры, слейвы, экстернал триггеры и клоки, что бы вывести сигнал с одного таймера на его выходной триггер, а потом подключить к нему два других итд... но только еще больше запутался.

Если поможите буду очень благодарен.

я к сожалению плохо зная stm32 (знал бы хорошо вопросов бы не было конечно*))
Знаю по опыту, если тупик, можно и неделю биться и все бестолку.
А можно один ма-а-аленький примерчик глянуть и за 5 минут все решить*)

Сообщение отредактировал Quantum1 - Aug 12 2014, 12:03
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Quantum1   Запуск одного таймера от другого   Aug 7 2014, 06:47
- - Haamu   Цитата(Quantum1 @ Aug 7 2014, 10:47) Осно...   Aug 8 2014, 06:39
|- - adnega   Цитата(Quantum1 @ Aug 12 2014, 15:53) А м...   Aug 12 2014, 12:52
|- - Quantum1   Цитата(adnega @ Aug 12 2014, 16:52) Не со...   Aug 13 2014, 05:00
|- - adnega   Цитата(Quantum1 @ Aug 13 2014, 09:00) Раз...   Aug 13 2014, 07:22
|- - AHTOXA   Цитата(adnega @ Aug 13 2014, 13:22) Код.....   Aug 13 2014, 09:29
|- - adnega   Цитата(AHTOXA @ Aug 13 2014, 13:29) Глаз ...   Aug 13 2014, 12:46
|- - AHTOXA   С тем же именем, что и у маски в stm32f10x.h? Вы п...   Aug 13 2014, 15:11
- - Golikov A.   почему всегда все так сложно? я скачал реф мануал ...   Aug 13 2014, 06:30
- - Golikov A.   жестоко штатный хедер переписать под свой стиль......   Aug 13 2014, 17:44
|- - AHTOXA   Цитата(Golikov A. @ Aug 13 2014, 23:44) п...   Aug 13 2014, 19:19
- - Golikov A.   хм... надо проверить, мне кажется фигни не должно ...   Aug 13 2014, 20:23
|- - AHTOXA   Цитата(Golikov A. @ Aug 14 2014, 02:23) L...   Aug 13 2014, 20:40
||- - adnega   Уважаемые, тут недалеко есть аж два топика, где об...   Aug 13 2014, 21:00
|- - KRS   Цитата(Golikov A. @ Aug 14 2014, 00:23) L...   Aug 16 2014, 09:32
- - Quantum1   спасибо огромное, сегодня попробую разобраться   Aug 14 2014, 02:49
- - Golikov A.   ЦитатаМожете привести пример, когда вам не хватит ...   Aug 14 2014, 05:54
- - AHTOXA   Цитата(Golikov A. @ Aug 14 2014, 11:54) н...   Aug 14 2014, 09:58
- - Golikov A.   уходя крикну в закрывающуюся дверь проблемы со сд...   Aug 14 2014, 10:13
- - Golikov A.   а вы только под win пишите? и как называется 64 б...   Aug 17 2014, 04:53
|- - KRS   Цитата(Golikov A. @ Aug 17 2014, 08:53) а...   Aug 17 2014, 10:55
- - Golikov A.   ну так и я о том же... если написано int32_t - то...   Aug 17 2014, 14:02
- - adnega   Цитата(Golikov A. @ Aug 17 2014, 18:02) в...   Aug 17 2014, 14:38


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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 08:42
Рейтинг@Mail.ru


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