STM32F207: Zwei Timer synchronisieren

Gast #3276871
Lesenswert?

Hallo!

Irgendwie bekomme ich es nicht hin, das die Timer TIM2 und TIM3 des 
STM32F207 absolut synchron laufen; gleichzeitig starten, stoppen und 
inkrementieren (über den internen und über den Prescaler 
heruntergeteilten Takt). Es soll/kann die STM32F2xx Standard Peripherals 
Library Drivers verwendet werden (STM32F2xx_StdPeriph_Driver).

Ich habe noch nicht einmal verstanden, wie ich die Timer richtig 
konfigurieren muss ... Die Initialsierung sieht im Moment so aus:
1
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
2
  
3
  /* TIM2 and TIM3 clock enable */
4
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3, ENABLE);
5
  
6
  /* Time base configuration */
7
  TIM_TimeBaseStructure.TIM_Period = 0xFFFF;
8
  TIM_TimeBaseStructure.TIM_Prescaler = 15;
9
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
10
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
11

12
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
13
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
14
  
15
  /* Select the Master Slave Mode */
16
  TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);
17
  /* Master Mode selection */
18
  TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Enable);
19
  /* Slave Mode selection: TIM3 */
20
  TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Gated);
21
  TIM_SelectInputTrigger(TIM3, TIM_TS_ITR1);
22
  
23
  /* TIM enable counter */
24
  TIM_Cmd(TIM3, ENABLE);
25
  TIM_Cmd(TIM2, ENABLE);

Beide Timer laufen, aber eben nicht synchron.

Vielen Dank für eure Hilfe!

Viele Grüße
Timerlein

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren