Gast
#97071
Hallo, ich möchte die Signale einer IR-Fernbedienung (für DVD-Player) dekodieren (nicht RC5 oder ähnl., mir unbekannter Code), und mit einem Mikrocontroller (hier SAB80C517A) dann die gedrückte Taste seriell an ein Terminal-Prog. ausgegben. Im ersten Versuch habe ich die Impulszüge mit einem Dig. Oszi ausgerduckt und dann dann die Zeiten markanter Stellen markiert, die bei allen 24 Tasten verschieden waren. Mittels ext. Interrupts erkenne ich den Start des IR-Signals und habe dann mit einem Timer zu den bestimmten Zeiten den Port abgefragt. Waren 12 Meßwerte in einem Impulszug. Hat aber nicht richtig geklappt, da viele Tasten die gleichen 12 Meßwerte hatten. Nun bakem ich den Tip, mehr Abtastwerte zu nehmen. Ich Taste das Signal nun 512 mal nach dessen Start ab, und schiebe die jeweiligen Bits des Impulszuges nun in ein Feld vom Typ long. Ich erhalte also 16 Felder zu je 32 Bit = 512 Werte. Das klappt auch und ich kann mir die einzelnen Felder auch am PC anzeigen lassen. Leider mußte ich aber feststellen, das z.B. für die Taste1 die einzelnen Felder jedsmal unterschiedliche Werte beinhalten, d.h. Wenn ich 10 mal die Taste1 drücke, dann haben die Felder jedesmal andere Werte. Wie kann das IR-Signal für eine Taste jedesmal anders sein? Wie soll ich nun durch die Abtastung jemals zuverlässig eine gerdückte Taste erkennen können. if-Abfragen oder switch-case hat ja keinen Erfolg, da eine Taste jedesmal anders aussieht. Im Anhang mal ein paar Bilder des IR-Signals. Ich bin für jede Hilfe dankbar. Manfred