Hallo, ich möchte die Frequenz eines gepulsten Signals messen. Üblicherweise lässt man dazu das Signal einen Interrupt "A" auslösen, in dem dann der Wert eines Zählers ausgelesen und z.B. mit dem zuletzt ausgelesenen Wert verglichen wird. Befindet sich das Programm allerdings gerade in einem andern Interrupt "B", wird der Interrupt "A" nicht sofort ausgelöst, sondern erst nach Beenden von "B". Dann ist aber der Zähler schon etwas weiter gelaufen und der Messwert in "A" ist verfälscht. Habe ich das Datenblatt richtig verstanden, dass die Lösung dieses Problems die Input Capture Unit ist? Das zu messende Signal triggert die Übertragung des zugehörigen Zählerwertes in das ICR-Register. Dieses kann dann bequem später in "A" ausgelesen werden und man erhält wieder den korrekten Messwert? Vielen Dank, Th.
Genau. Der Sinn des Input Capture-Features besteht darin, Zeitmessungen mit der Auflösung von einem Systemclock zu ermöglichen.
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.