Hallo, Achtung Anfänger! ;) Ich möchte einen Timer-Interrupt auslösen immer genau dann, wenn eine bestimmte Anzahl Flanken von 2 digitalen Quadratursignalen eines Drehgebers gezählt wurden. Das STM 32F407 bietet genau für diese Anwendung eine Timer-Funktion "Encoder" mit 2 Eingängen an. (Dokumentation siehe Anhang)... Laut der Doku wird ja hier ein Auf-und Abwärts-Zähler generiert (je nach Drehrichtung), der sich nach Durchlauf des benutzerdefinierten Werts im TIMx_ARR -Register immer wieder zurücksetzt. Da ich mit CubeMX konfiguriere, habe ich bei den Timer-Optionen nur die Auswahl den Prescaler und die Counter Period auf einen Wert einzustellen. Daher zwei Fragen: 1. Ist Counter Period der Eintrag ins TIMx_ARR? 2. Müssen sonst wirklich keine weiteren Einstellungen bei den Clock Configurations und dem Prescaler gemacht werden? Als ich mich mit den Timern vertraut gemacht habe, bin ich nämlich immer auf folgende Formel gestoßen TIM= clock/((Prescaler+1)*(Period+1)) werden diese Einstellungen bei signalgesteuerten Timern nicht benötigt?
und noch eine Frage. Kann ich mit dem entsprechenden Timer dann auch noch ein korrektes Interrupt auslösen? Bei der NVIC Konfiguration erscheint dann leider nicht mehr die Möglichkeit für global interrupt, sondern nur "capture compare".. inwiefern wäre das ein Nachteil?
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.