STM32 Timer Funktionen

Gast #7328569
Lesenswert?
• ▲
▼

Hallo zusammen,

ich habe Probleme, dass mein STM32H7 "hängen bleibt", wenn ich nacheinander

1
HAL_TIM_Base_Start(&htim4);
2
HAL_TIM_OC_Start_IT (&htim4, TIM_CHANNEL_1 );

aufrufe. Beides einzeln funktioniert wunderbar. Da ich gerade Umsteiger auf den STM32 bin habe ich noch keine große Erfahrung damit: Ist es generell nicht möglich, beides nacheinander aufzurufen?

Gast #7328680
Lesenswert?
• ▲
▼

Blob schrieb:

Ist es generell nicht möglich, beides nacheinander aufzurufen?

Das hat weder mit der Architektur Cortex M noch mit deinem speziellen Chip noch mit dem Timern noch mit der Programmiersprache C zu tun - sondern es hat damit zu tun, was diese von irgendwem geschriebenen Funktionen denn so anstellen.

Also, wenn du den Quellcode zu diesem Zeug hast, dann schau dort hinein. Die bessere Alternative wäre, sich selbst genau das zu schreiben, was man für den konkreten Anwendungsfall braucht.

W.S.

#7328714
Lesenswert?
• ▲
▼

Es ist wohl nicht gedacht diese Funktionen so zu mischen:

UM2217 Rev.6, S. 1763

1
4.
2
Configure the TIM in the desired functioning mode using one of the Initialization function of this driver:
3
– HAL_TIM_Base_Init: to use the Timer to generate a simple time base
4
– HAL_TIM_OC_Init and HAL_TIM_OC_ConfigChannel: to use the Timer to generate  an Output
5
Compare signal.
6
- ...
7

8
5.
9
Activate the TIM peripheral using one of the start functions depending from the feature used:
10
– Time Base : HAL_TIM_Base_Start(), HAL_TIM_Base_Start_DMA(), HAL_TIM_Base_Start_IT()
11
– Input Capture : HAL_TIM_IC_Start(), HAL_TIM_IC_Start_DMA(), HAL_TIM_IC_Start_IT()
12
– Output Compare : HAL_TIM_OC_Start(), HAL_TIM_OC_Start_DMA(), HAL_TIM_OC_Start_IT()

Wenn der Timer trotzdem vorher schon laufen soll, dann kann man den OC wahrscheinlich mit den LL Makros dazupacken.

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.