STM32F030 TIM1 soll ADC1 triggern (kein HAL)

Gast #4173945
Lesenswert?
• ▲
▼
Hallo Zusammen,

obwohl es im Forum schon einige Beiträge zu diesem Thema gibt, komme ich 
bei meinem Problem nicht wirklich weiter.. Hier eine kurze 
Zusammenfassung was ich genau machen möchte:

Ich benutze einen STM32F030-Controller um einen bürstenlosen 
Elektromotor anzusteuern. Die Signalerzeugung für die 
zwischengeschaltete Endstufe übernimmt der TIM1. In der Mitte der 
PWM-Periode soll der AD-Wandler mehrere Kanäle wandeln. Die Triggerung 
erfolgt über den vierten noch freien Kanal (CC4) des TIM1. Hier wird ein 
Compare-Event in der Mitte der Periode ausgelöst. Über den internen 
Trigger soll dann der ADC mit der Wandlung starten. Dafür wurde als 
Trigger-Quelle beim AD-Wandler der Trigger "TIM1_CC4" ausgewählt 
(ADC->CFGR1, EXTSEL = 0x01 (= TRG1:TIM1_CC4) und EXTEN = 0x01 (= 
Triggerevent bei steigener Flanke)).
Leider startet der AD-Wandler keine Wandlung. Das Compare-Event 
funktioniert allerdings einwandfrei. Über einen Interrupt habe ich das 
mal getestet. Im Manual und in diversen Internetforen wird darauf 
hingewiesen, dass das Bit ADSTART im Register ADC-CR von Hand gesetzt 
werden muss, da sonst bei einem Trigger-Event keine Wandlung startet. 
Auch dies habe ich berücksichtigt, jedoch ohne Erfolg. Weiterhin wird in 
vielen Beiträgen, auch hier auf mikrocontroller.net, berichtet, dass die 
Initialisierungsreihenfolge wichtig ist. Da ich aus Überzeugung keine 
HAL-Library verwende habe ich mir die Reihenfolge bei der Verwendung von 
HALs genau angesehen, jedoch keinen Unterschied zu meinen Code gefunden. 
Auch die von ST bereitgestellten Code-Beispiele haben mir hier nicht 
wirklich weitergeholfen.
Ich wäre wirklich dankbar, wenn mal jemand über meinen Code schauen 
würde und mir da weiterhelfen kann. Ich hänge da jetzt nämlich echt 
schone ne Weile...

Die relevanten Teile aus meinem Code habe ich als PDF angehängt.

Viele Grüße, Steffen
Angehängte Dateien:

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.