Wieviele Empfängerausgänge willst Du denn messen? (Weil Che Guevara einen Code für 2 Pulslängen reingestellt hat)
128 bedeutet z.b., dass das signal 128ms lang high ist und 255-128=127ms low ist.
Das ignoriert aber die Tatsache, dass RC-Impulse eine ziemlich kleines Impuls/Pausen-Verhältnis haben! Die Impulse dauern zwischen 0,8 und 2 ms, währen die Pause ca. 20ms dauert.
Außerdem ist es u.U. ungünstig, den Controller länger in einer ISR festzunageln, wie es hier durch die While..Wend-Schleife geschieht:
Code:
Kanal_1:
While Pind.2 = 1
Waitus 10
Incr Kanal(1)
Wend
Rc(1) = Kanal(1)
Kanal(1) = 0
Return
Wenn Du es nicht mit dem ja bereits vorgeschlagenen Pulsein-Befehl machen möchtest, hätte ich eine ziemlich einfache Lösung. Müsste nur wissen, mit welchen Takt der Controller läuft.
Lesezeichen