Zeit messen? Aber wie?

Gast #77716
Hallo,

wie kann ich denn mit den Timern meines 8535 eine Zeit messen?

Ich dachte da an:

Taste drücken -> Timer startet -> Timer läuft eine festgelegte Zeit ->
Nach ablauf der zeit (z.B. 5 Minuten) geht eine LED an.

Und das alles möchte ich gerne mit avr-gcc machen.

Könnte mir dabei jemand helfen?
Gast #77717
Einfach nen Counter mit Prescaler laufen lassen, bei Overflow
Variable(n) hochzählen. Start und Stop des Timers durch
Tastendruckabfrage.

Wo genau ist das Problem?
Gast #77719
Wie wärs mit dem Datenblatt?

1) der Timer braucht einen bestimmten Takt mit dem er zählt, im
allgemeinen wird dieser Takt direkt vom Prozessortakt abgeleitet. Läuft
der uP mit z.B. 4MHz, so wird der Timer alle 250us inkrementiert, bei
einem Taktverhältnis von 1:1 (= der Prescalerwert). Bei 8:1 nur noch
alle 2ms.

2) wenn der Timer "nur" überläuft passiert dies alle 256 x 250us;
zumindestens bei einem 8bit-Timer, einem 4MHz-Quarz, einem Prescaler
von 1:1 und einer internen Taktung.

Wenn ich diese Rahmenbedingungen falsch erraten haben sollte, mußt du
die Werte halt auf deine Anwendung anpassen oder deine Fragen konkreter
formulieren ;-)

grüsse leo9
Gast #77720
Ich glaube, du hast dich etwas mit den Grössen vertan:
Bei 4MHz dauert eine Taktperiode nicht 250µs, sondern 0,25µs. Sofern
der Timer direkt mit der Prozessor-Takt gekoppelt ist, wird der Timer
auch alle 250ns um eins erhöht.
(1MHz hat doch noch eine Taktdauer /-periode von 1µs = 10e-6 Sekunden,
oder?)

Berichtige mich bitte, wenn ich falsch liegen sollte.

Gruß
Rahul

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.