atmega8 - Zeitbeschränkte Taktzählerfunktion

Gast #3195272
Lesenswert?
• ▲
▼
Hallo zusammen,
ich möchte einen extern gegebenen Takt (Reed-Kontakt), welcher an PB5 
hängt, zählen und über UART ausgeben.

Die Ausgabe über UART ist kein Problem.

Da der Taktzähler als Funktion laufen soll, soll die Funktion auf 10 sec 
Mess bzw Zähldauer beschränkt sein.

Ich habe mir das so vorgestellt:

Der Takt an PB5 wird für 10 Sekunden gezählt. Anschließend wird das 
Ergebnis mal 6 genommen, und der Wert der dabei rauskommt, per UART 
ausgegeben.

Allerdings habe ich keine Ahnung, wie ich diesen Zählvorgang auf 10 sec 
beschränken soll.

Programmiert wird in der Programmiersprache C. Der Controller läuft bei 
8Mhz über den internen Oszillator.

VG
LD2307
Gast #3195301
Lesenswert?
• ▲
▼
Nimm n Timer, erzeuge dir ne Zeitbasis. Nimm eine Variable, die in oder 
dekrementierst du in der Timer ISR und solange deine Variable != 0 oder 
beim hochzählen != deinen 10s dann messen, ansonsten halt nicht 
messen...
Gast #3197837
Lesenswert?
• ▲
▼
Hallo!
Über den Zweck Deiner Konstruktion schweigst Du Dich ja aus. In vielen 
Fällen ist es bei langsamen Impulsfolgen besser, die Abstände zu messen. 
Dabei erhält man z.B. bei einem Fahrradtacho zu jedem Impuls eine 
Geschwindigkeit und nicht erst nach 10 Sekunden, dann noch mit 
entsprechend hohem Restfehler!

Antwort schreiben

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.

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.