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