Hallo zusammen, ich habe eine sehr allgemeine Frage zum STM32F0 In meinem Programm steuert Timer2 mit PWM einen Ausgang Und Timer 3 triggert den ADC. Wichtig ware mir es, beide Timer gleichzeitig zu starten. Gibt es einen Befehl um dies zu realisieren? Weiter habe ich nach meinem Befehl TIM_CMD(TIM3, ENABLE); ADC_StartofConversion(ADC1) Beginnt Timer 3 nun zu zählen ab dem ersten oder ab dem zweiten Befehl? Wie kann ich im Zeitverlauf messen, wann Timer 3 triggert? Sprich wie kann ich Timer 3 ausgeben um ihn mit dem Oszi zu messen? Ja sehr einfache Fragen aber eventuell weiß jemand die Lösung Danke und viele Grüße
Matthias H. schrieb: > Wichtig ware mir es, beide Timer gleichzeitig zu starten. Man kann einige der Timer synchronisieren, siehe Datenblatt. Wie du das mit dieser komischen ST-Library erreichst, das kann ich dir nicht sagen. Alternativ kann man beide "in etwa" gleichzeitig starten und hinterher anhand des CNT-Registers kompensieren.
Wenn Timer 3 nur dafür da ist, den ADC zu triggern, dann könntest du die Aufgabe doch gleich von Timer 2 mit erledigen lassen. Dann brauchst du nicht synchronisieren (Vorausgesetzt der ADC soll immer zum gleichen Zeitpunkt der PWM messen).
Mike R. schrieb: > Wenn Timer 3 nur dafür da ist, den ADC zu triggern, dann könntest du die > Aufgabe doch gleich von Timer 2 mit erledigen lassen. Dann brauchst du > nicht synchronisieren (Vorausgesetzt der ADC soll immer zum gleichen > Zeitpunkt der PWM messen). Sehr gute Idee toller Tipp! Jetzt habe ich noch eine Frage zur Triggerung: Mein Timer läuft mit 48MHz und die Periode ist auf 479. Meiner Meinung nach müsste er mit 10µs abtasten. Allerdings tastet er mit 20µs ab. Hat jemand eine Idee an was es liegen könnte? Gibt es eine Möglichkeit zu jedem Counterwert zu überprüfen, was das Programm gerade macht?
Matthias H. schrieb: > Jetzt habe ich noch eine Frage zur Triggerung: > > Mein Timer läuft mit 48MHz und die Periode ist auf 479. Meiner Meinung > nach müsste er mit 10µs abtasten. Allerdings tastet er mit 20µs ab. Hat > jemand eine Idee an was es liegen könnte? Der Timer Prescaler wird je nach Wert nochmal multipliziert (s. Bild). Zumindest beim F1... mfg
Felix F. schrieb: > Der Timer Prescaler wird je nach Wert nochmal multipliziert (s. Bild). > Zumindest beim F1... Genau beim F0 auch. Habe jetzt gesehen, dass der Prescaler bei /2 lag. Allerdings wird der ADC doch von Timer 3 getriggert. Sprich Timer 3=48MHz zählt bis 479 und somit 10µs...
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.
