Forum: Mikrocontroller und Digitale Elektronik Wie sind die Einstellungen beim signalgetakteten Timer durchzuführen (STM-Board)


von dande (Gast)


Angehängte Dateien:

Lesenswert?

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?

von dande (Gast)


Lesenswert?

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