Hallo! Ist es irgendwie möglich mit einem Timer (Bsp. Timer 3) die Frequenz von zwei Eingangsignalen per Input Capture zu messen. In meinem Beispiel habe ich dafür Channel 1 und Channel 3 verwendet. Die Messung des Signals an Channel 1 stellt kein Problem dar und funktioniert auch soweit. Die Messung vom Signal an Channel 3 wird durch die Messung an Channel 1 beeinflusst! So wie ich das sehe ist das Problem, dass er nach jedem Capture Compare IR vom Channel 1 das Counter Register resetet. Und bei einem Capture Event wird ja schließlich nur der Counter Wert übernommen... Eine Möglichkeit dies zu umgehen fällt mir spontan ein: Der Counter resetet sich beim Capture Event nicht mehr und läuft durch. Bei jedem Capture wird die Differenz zwischen vorigem Counter Wert und jetzigem Counter Wert berechnet. Würde das so funktionieren oder gibt es auch eine einfachere Möglichkeit dies in Hardware zu realisieren? lg Mathias
Mathias M. schrieb: > Bei jedem Capture wird die Differenz zwischen vorigem Counter Wert und > jetzigem Counter Wert berechnet. Das funktioniert und es scheint mir der übliche Weg zu sein. Nachteilig ist, dass es bei Zeitintervallen oberhalb der Timerperiode etwas umständlich wird.
Hallo A.K. Habe es jetzt so implementiert und es funktioniert ohne Probleme! Bis auf die Division und die Berücksichtigung des Überlaufs ist es auch nicht weiter umständlich... Danke! lg, Mathias
Capture und Überlauf können ganz oder fast gleichzeitig auftreten. Wenn Zeiten >= Periode keine Rolle spielen, dann ist es trivial weil man den Überlauf komplett ignorieren kann. Andernfalls muss man ein bischen aufpassen, denn die Abarbeitung im Interrupt-Handler erfolgt dabei nicht unbedingt in der Reihenfolge des urprünglichen Auftretens der auslösenden Ereignisse.
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.