Цитата(SSerge @ Mar 3 2015, 20:00)

Подойдёт, я думаю, режим Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high,
это в поле SMS регистра SMCR.
Ведущий будет своим сигналом разрешать/запрещать клок для ведомого.
Спасибо, получилось. РАзобрался с каскадами. Вывел мастер и слейв на осциллограф.
Вот код
Код
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_6 | GPIO_Pin_0);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
TIM_TimeBaseStructInit(&TIM_InitStructure);
TIM_InitStructure.TIM_Prescaler = 1000-1;
TIM_InitStructure.TIM_Period = 1000;
TIM_TimeBaseInit(TIM2, &TIM_InitStructure);
TIM_OCStructInit(&TIM_OCConfig);
TIM_OCConfig.TIM_OCMode = TIM_OCMode_Toggle;
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
TIM_OC1Init(TIM2, &TIM_OCConfig);
/* Select the Master Slave Mode */
TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);
/* Master Mode selection */
TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update);
TIM_Cmd(TIM2, ENABLE);
TIM_TimeBaseStructInit(&TIM_InitStructure);
TIM_InitStructure.TIM_Prescaler = 1-1;
TIM_InitStructure.TIM_Period = 10;
TIM_TimeBaseInit(TIM3, &TIM_InitStructure);
TIM_OCStructInit(&TIM_OCConfig);
TIM_OCConfig.TIM_OCMode = TIM_OCMode_Toggle;
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
TIM_OC1Init(TIM3, &TIM_OCConfig);
/* Slave Mode selection: TIM3 */
TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Gated);
TIM_SelectInputTrigger(TIM3, TIM_TS_ITR1);
/* Select the Master Slave Mode */
TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);
/* Master Mode selection: TIM3 */
TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);
TIM_Cmd(TIM3, ENABLE);
Прилагаю ниже осциллограмму. Настроил на 10 клоков (красные клоки), но реакция ведомого таймера (спад синего графика) почему-то на одиннадцатый клок. Чем объяснить?
Сообщение отредактировал zheka - Mar 3 2015, 17:46