Forum: Mikrocontroller und Digitale Elektronik STM32 TIM10 initialisierung führt zu Absturz


von Holger K. (holgerkraehe)


Lesenswert?

Hallo

Ich verwende den STM32F105RBT6. Meine Timer Initialisierung sieht wie 
folgt aus:
1
void init_Timer10(void)
2
{
3
  TIM_TimeBaseInitTypeDef    TIM_TimeBaseStructure;
4
5
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM10, ENABLE);
6
7
  TIM_TimeBaseStructure.TIM_Period = 100-1;           // 72000hz
8
  TIM_TimeBaseStructure.TIM_Prescaler = 720-1;         // 1000Hz
9
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
10
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
11
  TIM_TimeBaseInit(TIM10, &TIM_TimeBaseStructure);
12
13
}

Beim Aufruf von TIM_TimeBaseInit
1
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
2
{
3
  uint16_t tmpcr1 = 0;
4
5
  /* Check the parameters */
6
  assert_param(IS_TIM_ALL_PERIPH(TIMx)); 
7
  assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode));
8
  assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision));
9
10
  tmpcr1 = TIMx->CR1;

Springt das Programm beim Ausführen der Codezeile tmpcr1 = TIMx->CR1 in 
den Default_Handler.

Den Fehler konnte ich bisher nicht finden. Ich verwende zusätzlich TIM2, 
TIM3 und TIM4 mit ähnlicher Initialisierung. Da funktioniert es.

Hat vielleicht hier jemand eine Idee woher das Problem kommt?

Danke schon mal.
Eure Krähe

von Little B. (lil-b)


Lesenswert?

der STM32F105RBT6 besitzt keinen Timer10, wenn ich das richtig sehe.

Im Reference Manual wird dieser zwar erläutert, im Device Datasheet ist 
aber nur die Rede von bis zu 4 synchronisierbare Timer (Tim2, Tim3, Tim4 
und Tim5)
Diese 4 Timer sollte dein Chip haben

von Holger K. (holgerkraehe)


Lesenswert?

ohh das hab ich wohl übersehen, steht auch irgendwie überall etwas 
anderes drin...

Danke schön!

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

RM0008:
> General-purpose timers (TIM9 to TIM14
...
> This section applies to XL-density devices only.

F105 ist CL device...

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.