Hi, Ich möchte gerne auf einem STM32F4 einen Timer als Frequenzmesser nehmen, der ab einer Threshold der Eingangsfrequenz CPU unabhängig einen Ausgang auf High schaltet. Geht das überhaupt? Ich dachte da irgendwie an Input Capture zur Bestimmung der Frequenz, doch kann ich da irgendwie einen anderen Timer/GPIO triggern, wenn die Eingangsfrequenz eine Threshold übersteigt?
:
Bearbeitet durch User
Das hängt von der Frequenz ab (Hz, kHz, MHz) und wie schnell das Ergebnis vorliegen soll.
Setze den Timer periodisch zurueck. Setze den Compare value auf den Wert, den Du als zu hoch fuer die Periode erachtet. Mit dem Compare Interrupt kannst Du dann Deinen Ausgang schalten oder direkt den Compareevent den Ausgang schalten lassen.
Peter D. schrieb: > Das hängt von der Frequenz ab (Hz, kHz, MHz) und wie schnell das > Ergebnis vorliegen soll. Im 100-200kHz Bereich. Uwe Bonnes schrieb: > Setze den Timer periodisch zurueck. Setze den Compare value auf den > Wert, den Du als zu hoch fuer die Periode erachtet. Mit dem Compare > Interrupt kannst Du dann Deinen Ausgang schalten oder direkt den > Compareevent den Ausgang schalten lassen. Das Triggern des Ausgangs soll ohne CPU Interaktion möglich sein. Also das Zurücksetzen des Compare Values scheint schon einmal ein guter Start zu sein. Kann ein STM32 Timer einen GPIO triggern, ohne dass die CPU eingreifen muss? Ich weiss z.B von den TI C2000 uC, dass diese genau solche Möglichkeiten haben, jedoch bei den STM32 habe ich das noch nie versucht.
Bert S. schrieb: > Kann ein STM32 Timer einen GPIO triggern, ohne dass die CPU eingreifen > muss? Ein Timer kann einen DMA Transfer triggern und per DMA memory-to-memory kann man beliebige Register beschreiben, hier z.B. BSRR.
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.