Forum: Mikrocontroller und Digitale Elektronik STM32F207: Zwei Timer synchronisieren


von Timerlein (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.