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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.