Forum: Mikrocontroller und Digitale Elektronik Timer bei STM32F407


von thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin neu auf dem Gebiet STM32. Ich habe viel hier im Forum gelesen 
und gelernt, doch jetzt habe ich eine Frage zu den Timern.

Ich würde gerne zwei Signale erzeugen, welche synchron zueinander sind.

Zum einen wäre das ein 10MHz Rechteck, welches ein 
Impuls-Pausenverhältnis von 50:50 hat. Und als zweites möchte ich ein 
Rechteck mit 900Hz erzeugen, welches auch ein Impuls-Pausenverhältnis 
von 50:50 hat. Der Flankenwechsel des langsameren Signals soll nur bei 
einr steigenden Flanke des schnelleren Signals stattfinden.

Als internen Takt verwende ich 168MHz. Ich möchte das ganze über Timer 
realisieren und den langsameren Takt nach 3 Perioden abschalten und 
manuell für drei weitere Perioden einschalten.

Wie muss ich die Pins konfigurieren? Welche Timer kann ich dazu 
verwenden? Wie muss ich die Timer konfigurieren?

Exemplarisch habe ich mal ein Bild angehängt auf welchem die Frequenzen 
allerdings nicht wie hier im Text beschrieben zusammenpassen.

Bevor die Frage kommt, was ich denn genau vorhabe: Ich möchte es mir auf 
dem Oszi oder LogicAnalyzer angucken und dabei etwas über den 
effizienten Einsatz von Timern lernen!

von Ingo (Gast)


Lesenswert?

thomas schrieb:
> Wie muss ich die Pins konfigurieren? Welche Timer kann ich dazu
> verwenden? Wie muss ich die Timer konfigurieren?
Garnicht, denn es geht nicht. 10MHz sind nunmal kein Vielfaches von 
900Hz. Denk mal drüber nach...



Ingo

von thomas (Gast)


Lesenswert?

Ingo schrieb:
> Garnicht, denn es geht nicht. 10MHz sind nunmal kein Vielfaches von
> 900Hz. Denk mal drüber nach...

Du hast recht! Dann nehmen wir 500Hz!

von Ingo (Gast)


Lesenswert?

Also grundsätzlich nimmst du einen Timer und 2 Compareregister. Das Eine 
stellt du auf den Wert x (10MHz), das Andere auf auf 20000x (500Hz). 
Jetzt musst du dem Controller nur sagen, dass er bei jedem Compare-Match 
den dazugehörigen Compare Pin toggeln soll! Habe aber die Syntax nicht 
im Kopf, aber guck mal hier http://www.diller-technologies.de/stm32.html

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.