STM32F3 input capture to measure HSE/32

OP #4100841
Lesenswert?
• ▲
▼
Hallo,

Ich probiere mit Timer16 auf einem STM32F334 die Frequenz meines HSE 
Taktes zu messen. Der Controller läuft dabei über den HSI Takt. HSE ist 
aktiviert und auf RCC_HSE_BYPASS.

Die Initialisierung sieht so aus (mit MXCube erzeugt + händische 
Änderungen):
1
  TIM_HandleTypeDef htim16;
2

3
  TIM_IC_InitTypeDef sConfigIC;
4

5
  htim16.Instance = TIM16;
6
  htim16.Init.Prescaler = 0;
7
  htim16.Init.CounterMode = TIM_COUNTERMODE_UP;
8
  htim16.Init.Period = 0xFFFF;
9
  htim16.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
10
  htim16.Init.RepetitionCounter = 0;
11
  HAL_TIM_Base_Init(&htim16);
12

13
  HAL_TIM_IC_Init(&htim16);
14

15
  sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
16
  sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
17
  sConfigIC.ICPrescaler = TIM_ICPSC_DIV8;
18
  sConfigIC.ICFilter = 1;
19
  HAL_TIM_IC_ConfigChannel(&htim16, &sConfigIC, TIM_CHANNEL_1);
20

21
  HAL_TIMEx_RemapConfig(&htim16, TIM_TIM16_HSE);
22

23
  __TIM16_CLK_ENABLE();
24

25
  HAL_TIM_IC_Start(&htim16,TIM_TIM16_HSE);

Danach probiere ich den Wert des Input Capture Registers wie folgt 
auszulesen:
1
    uint32_t ic = TIM16->CCR1;
2
    printf ("IC Value: %u\n\r", ic);

Bekomme allerdings die ganze Zeit 0 angezeigt.

Was habe ich übersehen bzw. vergessen zu initialisieren?

Danke,
Stefan

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.