-
-
Erfahrener Benutzer
Roboter Genie
16Bit Timer verwenden.
Dann zwei Interruptroutinen:
Die erste für die Tastendrücke. Wenn die T0 gedrückt wird, werden die Ergebnisregister und das Timerregister zurück gesetzt. Wenn T1 gedrückt wird, wird auf das Ergebnis der aktuelle Timerwert aufaddiert und in eine andere Variable weggeschrieben.
Die zweite Reagiert auf einen Timerüberlauf und zählt das Ergebnissregister hoch.
Bei einem Mega168 kommt man so auf eine Genauigkeit von
ca. 1/20MHz/8 (wegen Verzögerungen in den Interruptroutinen, max. 8 Takte zum Interruptvektor ausführen und Timerregister lesen) und einen Zählbereich von 65536/20Mhz * 32bit = 14073748,8355328s also ca. 3909 Stunden.
Die genaue Funktion der Timer kannst Du in den Datenblättern von Atmel nachlesen. Da gibt es meistens auch Beispiele in C
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen