Hallo, ich bräuchte mal ein paar Hinweise, wie ich am Besten mit einem AVR einen Zähler (für Modellbauzwecke, max. 100.000/min) realisiere? Ich dachte mir das so, das ich via externen Interrupt die Pulse zähle indem ich einen Wert in einem Register hochzähle. Dann das Ganze mit einer Zeitschleife via internen Timer auslesen/ausgeben und Register auf Null setzen. Ist der Denkansatz so richtig? Oder sollte ich einen anderen Weg gehen? Gruß Uwe (ja, es gibt ne Menge fertige Lösungen dafür, aber man will ja auch was lernen)
Deine lösung ist möglich. Aber du wirst bei höheren Frequenzen evt. Probleme bekommen. Eine andere Lösungsansatz währe, den internen Timer verwenden. Mit den konfigurationsregister kannst du einstellen, dass der Timer mit einem Externen Takt läuft. Du brauchst dich um das Zählen dann gar nicht zu kümmern. Wenn du hilfe brauchst, dann melde dich. Gruß, Florian
Meld! Könntest Du mir mal ein wenig auf die Sprünge helfen? Ich verwende einen AT90S2313. Also, ich vermute mal, das ich dann Timer1 so einstellen soll, das er via externen Interrupt hochgezählt wird. Nur wie komme ich dann zu einem brauchbaren Ergebnis? Nach welchem Schema werte ich das dann aus? Bei meiner Variante hätte ich via Timer eine Torzeit erzeugt und einfach die ankommenden Impulse in dieser Zeit ermittelt. Gruß Uwe
hi, du kannst im einfachsten fall einen chip mit 2 timern nehmen. z.b. Timer0 = Timer, der macht die torzeit, Timer1 = Counter, der zählt via interrupt die pulse, geht gut bis ca. 1/2 cpu-frequenz. gruss, harry
Hallo, sowetwas ähnliches hatten wir doch kürzlich gerade gehabt: http://www.mikrocontroller.net/forum/read-1-62154.html#62154 Mich würde nur noch interessieren, wie die Aussage von Peter genau zu verstehen ist. "Der Trick ist nur die Kaskadiereung per Softwareregister im Interrupt." Soll es möglich sein, daß während der eine Interrupt ausgeführt wird der des anderen Zählers ausgeführt werden kann/soll? GRuß
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.