Gast
#1770853
Hallo liebes Forum, ich habe ein kleines Problem. Es geht darum, dass ich den Input Capture nutzen möchte, dabei aber ja überläufe des Counters stattfinden können. Beispiel: ein Event passiert bei Zählerstand 0xE000 (16-Bit Timer Counter des ATMega48) und das Nächste bei 0x0100. Nun es ist also anzunehmen, dass in der Zwischenzeit mindestens ein Überlauf stattgefunden hat... nicht gerade hilfreich diese Info. Zur Lösung würde ich also im Overflow-Interrupt einen Zähler laufen lassen, der bei jedem Capture-Event genullt wird. Dann hätte ich eine präziese Zeitmessung. Aber dann habe ich ein neues Problem: der Grenzfall. ein Capture-Event passiert genau synchron mit dem Overflow. Der Capture-Zähler gibt dann vermutlich 0x0000 aus, doch mein Overflow-Counter?! Zählt der jetzt noch eins weiter? oder Zählt er erst nach dem Capture-interrupt weiter, was dann die folgende Messung ebenfalls verfälschen würde!? Welche Ansätze gibt es um dieses Problem zu lösen? Wäre es sinnvoll den Counter bei jedem Capture zu nullen (prescaler ist übrigends 256)? Während den ersten 256-Prozessortakten dürfte das ja zu keinen Verlustein in der Genauigkeit der Messung führen, oder? Vielen Dank MfG Johannes R.