Zeit Zählen - Beste Möglichkeit

Gast #937933
Lesenswert?
• ▲
▼
Moin zusammen,

ich muss die Pausenzeiten zwischen Signalen Zählen, also die Zeit 
zwischen fallender und steigender Flanke.

Im Moment warte ich , dass der Zustand von 1 auf 0 wechselt, und Zähle 
dann in 10ms Schritten, wie lange der Zustand anhält.

Problem dabei ist natürlich, dass es in dieser Zeit den kompletten 
µController blockiert. Ich vermute mal, dass es bessere Möglichkeiten 
gibt, allerdings kenne ich sie nicht. Könnte mir jemand einen Schubs in 
die richtige Richtung geben?

Verwendet wird ein Atmel 89c51

Die zu messenden Zeiten liegen zwischen 650ms und 1900ms.

Ein schönes Wochenende wünscht
Sevi
Gast #937946
Lesenswert?
• ▲
▼
89c51 ist nicht meine Baustelle!

aus meiner Ecke gesehen:

(Pseudocode)

Init:
   Timer auf Null initialisieren
   ext Int. auf fallende Flanke initialisieren
   ZeitLäuftFlag = 0


ISR_Int:

  if ZeitLäuftFlag = 1 dann
     Timer auswerten
     ZeitLäuftFlag = 0
  else
     Timer auf Null initialisieren
     Timer starten
     ext Int. auf steigende Flanke initialisieren
     ZeitLäuftFlag = 1  'merken das letztes Ereignis eine HL-Flanke war
  end if

  reti

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.