mikrocontroller.net

Forum: Compiler & IDEs Zeit messen? Aber wie?


Autor: Divison (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Herb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Divison (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähhh was ist denn ein Prescaler? Und wielange dauert es bis ein Overflow
passiert?

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.