Impulslängenmessung mit Timer1

Gast #56880
Lesenswert?

Ich möchte unter Bascom eine Impulslänge im Bereich von 150-250µs
möglichst genau messen.
Ich benutze dafür einen Mega128 mit einer Taktrate von 7.3728 MHz.
Bisher sind meine Experimente mit dem Timer1 fehlgeschlagen.
Mit der Onlinehilfe komme ich nicht weiter.
Gast #56881
Lesenswert?

leg das Signal in den ICP-Eingang, Timer mit max. Frequenz, also ohne
Vorteiler frei laufen lassen. In der ICP-ISR kannst du dann die
Differenz  zwischen 2 ICP-Ereignissen bilden.
Willst du nur die low- oder high-Zeit eines Signals messen, musst du in
der ISR die aktive Flanke für das ICP-Ereignis umprogrammieren.
Bsp für low-Pegel messen:
ICP auf fallende Flanke setzen
fallende Flanke kommt
ICP-Timerstand merken
ICP auf steigende Flanke setzen
steigende Flanke kommt
ICP_neu - ICP_alt bilden -> fertig
Gast #56883
Lesenswert?

Wie kann ich denn die zu erkenende Flanke änderen ?
(unter Bascom)

Muss ich den Timer komplett noch Konfigurieren ?
(Config Timer1= Timer, Capture Edge = Rising, Prescale = .....)

Wird dadurch nicht der Timer wieder auf 0 gesetzt ?

Oder gibt es einen extra Befehl um die Flankenerkennung
des ICP1 zu ändern ?


MfG
Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren