Forum: Mikrocontroller und Digitale Elektronik Probleme mit Timer3 Clock Konfiguration (STM32F2xx)


von Leonhardt (Gast)


Angehängte Dateien:

Lesenswert?

Guten Morgen,

ich möchte in meiner Applikation den Timer3 einsetzen. Dieser soll 
zyklisch jede 1ms einen Interrupt auslösen.

SystemCoreClock = 120 Mhz
Timer3 Clock    = 
((SystemCoreClock*AHBx_Prescaler)/AHB1_Prescaler)*AHB2_Prescaler = 
((120Mhz*1)/4)*2 = 60Mhz
1
  TIM3_TimeBaseInitStructure.TIM_Period = ?;
2
  TIM3_TimeBaseInitStructure.TIM_Prescaler = ?;
3
  TIM3_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
4
  TIM3_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;

Wie müsste ich TIM_Period und TIM_Prescaler einstellen, damit der Timer 
3 jede 1ms einen Interrupt auslöst. Wie müsste ich rechnerisch vorgehen 
?

von Leonhardt (Gast)


Lesenswert?

Wird der Timer3 mit der Taktfrequenz 60 Mhz betrieben oder nicht ?

von Steffen (Gast)


Lesenswert?

#define MCK        60000000
#define FREQUENZ_  1000    //- 1ms
#define PRESCALER  2

#define TIM_3PERIOD_1MS     (u16)(MCK/PRESCALER/FREQUENZ_)

  TIM3_TimeBaseInitStructure.TIM_Period = TIM_3PERIOD_1MS;
  TIM3_TimeBaseInitStructure.TIM_Prescaler = PRESCALER;
  TIM3_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  TIM3_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;

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.