Noch 'ne Idee. Wenn die Ausgabe läuft, dauert das ziemlich lange. Die Impulse mit steigenden und fallenden Flanken treffen trotzdem noch am PD6 ein und das ICP Interruptflag wird gesetzt. Sobald das sei() kommt, wird deshalb sofort die ISR erneut aufgerufen von einer lange vorher aufgetretenen Flanke und verfälscht das Ergebnis?
Vor sei() würd ich durch eine Eins Schreiben des ICF1 Bits im TIFR Register das Interruptflag sicherheitshalber löschen.
Welche Länge können denn die Impulse haben, die vom RC-Empfänger kommen?
Wenn Du nicht weis ob es ein Open Collector Ausgang ist, schadet es nichts, trotzdem den internen Pullup einzuschalten.
Gruß
Searcher
Lesezeichen