Gast
#1469736
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.