Gast
#1137136
Hallo
ich habe vor, mich intensiver mit dem Einlesen eines PWM Signals
auseinanderzusetzen.
Ich habe bereits mehrere Beiträge gelesen und wie ich gesehen habe, wird
oft empfohlen Interrupts und Timer zu benutzen.
Es wurden folgende Vorschläge gemacht:
1. Variante:
- ICP
2. Variante:
- Interrupt Timer --> steigende flanke -->Timer Start
Timer --> fallende flanke --> Timer Stop ---> Timer Wert auswerten
3. Variante (wie 2. variante):
- ext. Interrupt auf steigende Flanke einstellen
- wenn der auslöst, auf fallende Flanke umstellen und passenden Timer
starten
- wenn der auslöst, Timer ablesen und auswerten
4.Variante:
>> Interrupt0 auf beide Flanken stellen.(geht z.B. beim Mega8)
In der Interuptroutine pin auf high testen, war steigende flanke.
Variable "X" auf null setzen.
ist der Portpin LOW, war es eine fallende Flanke, Variable "X"
auslesen und anzeigen.
Die Variable "X" wird im Timerinterrupt unabhängig vom Int0 langhin
hochgezählt. Die Genauigkeit/Auflösung hängt von der
Zählgeschwindigkeit des Timers ab. <<
Ich möchte gerne wissen (bevor ich mich an die Arbeit mache), welche
Variante ihr emfehlen würdet. Gibt es inzwischen bessere Methoden ein
veränderliches PWM Signal einzulesen?
Habt ihr bessere Vorschläge, wie man sowas angehen kann?
Wenn jemand sowas in der Richtung mal gemacht hat, wäre ich über Tipps
sehr dankbar?
Gruss und Danke