juvf 9 27 октября, 2013 Опубликовано 27 октября, 2013 · Жалоба Связал два таймера TIM2->TIM4 в один 32-х битный таймер. TIM4 инкреметируентся при переполнении TIM2. Нужно также связать TIM16 и TIM15. TIM15 ведомый, вроде настроил правильно TIM15_SMCR = TIM_SMCR_TS_1 | TIM_SMCR_MSM | TIM_SMCR_SMS; т.е. TS = 010: Internal Trigger 2 (ITR2), из дата шита TIM15 можно сделать ведомым от TIM16 или от TIM17. Настраиваю TIM16. Чтобы тим15 считал переполнения от тим16, нужно чтобы тим16 генерировал TRGO. На схеме TIM16 есть сигнал TRGO. Но как его излучать - не понятно. В других таймерах в регистре СR2 есть биты MMS: Master mode selection. При MMS = 2 при переполнении таймер будет излучать TRGO. 010: Update - The update event is selected as trigger output (TRGO). For instance a master timer can then be used as a prescaler for a slave timer. Но в TIM16/17 в регистре СR2 нет полей MMS. Как связать таймера TIM16->TIM15? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба Как я понимаю, для одного таймера нужно разрешить TRGO, а для другого выбрать TRGO источником тактирования. При условии, что они могут работать в паре. АЦП я так уже запускал, думаю и таймеры тоже будут работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 9 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба Как я понимаю, для одного таймера нужно разрешить TRGO, ... как для TIM16 разрешить TRGO? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба А какой контроллер? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 9 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба А какой контроллер? сорри, забыл указать в первом посте: STM32F100C8T6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба для TIM15->SMCR выбрать 010: Internal Trigger 2 (ITR2) и SMS установить 110: Trigger Mode А отладчик есть какой-то? SMS попробуйте разные. Не соображу навскидку какой нужен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 9 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба Отладчик есть.... IAR + jlink. С ТИМ15 вопросов нет. вопрос с ТИМ16 как для TIM16 разрешить TRGO? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба Возможно понадобится резрешить событи TG в ведущем таймере. TIM16_EGR бит 6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 9 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба Bit 6 TG: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. 0: No action. 1: The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled. Ну как то не вяжется Related interrupt с TRGO. Тем более что этот бит автоматический сбрасывается. В других таймерах (TIM2...TIM4) TRGO разрешается путём установки битов TIMx->CR2->MMS: Master mode selection. В TIM16 нет полей MMS в регистре CR2. Похоже авторы забыли добавить эти биты в регистр. :laughing: Хотя в даташите пишут TIM15 can be synchronized with TIM16 and TIM17. ps вот reference_manual, 18.6.2 TIM16&TIM17 control register 2 (TIMx_CR2) - нет тут битов MMS в регистре CR2. В этом же документе в карте регистров 18.6.16 TIM16&TIM17 register map есть биты MMS в регистре CR2. Ну и под отладчиком в просмотре регистров тоже нет этих битов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 28 октября, 2013 Опубликовано 28 октября, 2013 · Жалоба If OCx is selected on TIM3 as the trigger output (MMS=1xx), its rising edge is used to clock the counter of TIM2. Как я понял, нужно вот этот ОСх настроить, а вывод не подключать, если не нужен. Если возможность описана, то как-то заработает. Может можно использовать один таймер как ведущий для двух других? Битов нет, я вижу. Но есть возможность управлять событием. Может и не нужен этот бит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Galizin 0 22 ноября, 2015 Опубликовано 22 ноября, 2015 · Жалоба В документе по таймерам 3 серии сказано что в для tim17, tim16 в качестве trigger out используется OC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться