STM32F405 Timer captured nicht

OP #4194239
Lesenswert?
• ▲
▼
Ich versuche gerade den TIM4CH4 an STM32F405 zum Capture zu bringen, 
aber es passiert nichts. Was habe ich denn vergessen?
1
 /*pseudocode*/
2

3
 /* Clock für PORTB ist schon aktiv */
4
 GPIOB->AFRH |= (2<<4);  /* P9 Alternative Function 2 -> TIM4CH4 */
5
 GPIOB->MODER &= ~(3<<18); /*Input*/
6
 /*kein Pullup aktiv*/
7

8
 APB1ENR |= STM32_RCC_APB1ENR_TIM4EN;  /*clock für TIM4 anschalten*/
9
 TIM4->CCMR2 = (1<<8);   /* CC4 channel is configured as input, IC4 is mapped on TI4 */
10
 TIM4->CCER = (1<<13) | (1<<12);  /* falling edge + enable */
11
 TIM4->PSC = 52;    /*prescaler*/
12
 TIM4->CNT = 0;   /* counter auf 0 */
13
 TIM4->CR1 = 1;   /* start*/
Was ich im Debugger sehe:
- Der Timer läuft, TIM4->CNT ändert sich
- Ich kann manuell ein Capture auslösen wenn ich in das TIM4->EGR 
register schreibe. Dann hat das TIM4->CCR4 Register den Wert des Timers 
übernommen.
- Wenn ich High- oder Low-Pegel an PB9 anlege wird der Wert auch im 
PORTB->IDR angezeigt, aber ein Capture erfolgt nicht.
Ich habe auch schon steigende Flanke und beide Flanken probiert. Egal 
was ich an dem Port-Pin mache, es wird nicht gecaptured.

Was fehlt denn nur damit es geht? oder ist es vllt ein 
Reihenfolgeproblem?
Gast #4194326
Lesenswert?
• ▲
▼
Hi,

meiner Meinung nach ist der Timer i.O.

Du hast den Input-Pin falsch konfiguriert. Er ist als Input gesetzt 
womit nur das ISR bedient wird.
Statt dessen muß Du ihn als AF-Pin konfigurieren:
1
/* Clock für PORTB ist schon aktiv */
2
 GPIOB->AFRH |= (2<<4);  /* P9 Alternative Function 2 -> TIM4CH4 */
3
 GPIOB->MODER |= (2<<18); /* AF-Function */
4
/*Push-Pull aktiv*/

Schau Dir vorsichtshalber nochmal Figure 25 und Table 35 in RM0090 an.

Gruß
   Chris

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.