Nabend,
ich möchte in meinem Auto mittels des ATMEGA32 den Benzinverbauch messen. Dazu ist es nötig ein PWM-Signal auszuwerten. Die Länge des Signals wird sich im ms-Bereich bewegen (eine ms entspricht 26ul eingespritztem Kraftstoff). Ich habe leider kein Oszilloskop um das genau prüfen zu können.
Für die Berechnung brauche ich also den Zeitabstand von steigender zu fallender Flanke. Über die Suche bin ich zu folgender Verfahrensweise gelangt: per Input-Capture die steigende Flanke erkennen, zeitgleich Timer auslösen, dann per Input-Capture die fallende Flanke erkennen und den Timer stoppen/reseten. Die Differenz der beiden Timerwerte ergibt die Dauer des Impulses. Funktioniert mein Ansatz oder schlagt ihr Alternativen vor?
Ich bin noch relativ neu auf dem Gebiet der AVR-Programmierung, kann mir jemand einen Beispielcode zur Verfügung stellen? Mir geht es nur um die grundlegenden Befehle in Bascom.