Hallo zusammen,
ich bin grad dabei diverse IR-Fernbedienungscodes auszuwerten.
Dazu nutze ich einen ATMEGA 162 und den Eingangspin für INT0.
Konfiguriert wurde der INT0 mit Rising, da ein 4093 Gatter als
Flankenversteiler vorgeschaltet ist und das IR-Empfängersignal
negiert. Auch oszilloskopisch sind die anliegenden Impulse korrekt.
Es soll ab der ersten ansteigenden Flanke des Impulspaketes ein
Interrupt ausgelöst werden und in der ISR die restlichen Impulse
am selben PIN ausgelesen werden. Deswegen ist der allererste
Befehl in der ISR die Interruptdeaktivierung. Die ISR dauert
länger als das IR-Impulspaket. Nach der ISR wird der Interrupt
wieder freigegeben, also da sind keine IR-Impulse mehr vorhanden.
Nun muss ich feststellen, dass die ISR nicht 1x, sondern 2x
ausgeführt wird. Für mich ist das zwar für mein Projekt nicht
unbedingt problematisch, aber komisch ist das doch.
Gibt da eventuell versteckte Timingprobleme?
VG Micha
Lesezeichen