Umstellung Timer-Betriebsmodus, ppm auslesen, pwm erzeugen

Gast #987094
Lesenswert?

Hallo,
ich will mit einem 16-Bit Timer des ATmega128 pwm-Signale für 4 Servos 
erzeugen, im 40ms-Takt, und dazwischen, also 32ms lang, das ppm-Signal 
der Fernbedienung auslesen.
PWM erzeugen mit einem Timer im Überlauf-Modus funktioniert, PPM 
auslesen mit einem Timer im Capture-Modus auch, aber wenn ich den Timer 
für beides gleichzeitig benutzen will gehts nicht.
ich hab gehofft, mit TIMSK |=(1<<TICIE1|1<<TOIE1); sowohl ein überlauf 
nach 32ms als auch die Länge des ppm-Signals zu bekommen.

quelltext ist im anhang, ich hoffe es kann mir jemand so helfen, dass 
ich mir den 2. Timer aufsparen kann :)

lg biggie
Angehängte Dateien:
#988579
Lesenswert?

Nimm statt des Overflow einfach den (die) Compareinterrupt(s).
Dann kannst Du den Timer frei laufen lassen und somit gleichzeitig 
capturen und pulsen.
Damit entfallen sämtliche Umschaltprobleme.

Hinweis:
Zeitdifferenzen stimmen auch über einen Überlauf hinweg.


Peter

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