Hallo nochmal,
mit Logisch 1 und 0 , sowie dem Diagramm im Bild meinte ich das, was die IR-LED sendet.
Das mit dem inventierten Signal beim TSOP hab ich gesehen. Deshalb schrieb ich im Programm die erste 1 auch manuell in die Variable "Ir_data"
Code:
Ir_data_start:
Ir_data = &B00000001
'Timer1 = 155 ' nach rund 808 us den Timer Interrupt auslösen
Timer1 = 180 ' nach rund 608 us den Timer Interrupt auslösen
Mit unterschiedlichen Timerwerten versuchte ich dann, die zeitliche Abfrage des TSOP so zu timen, dass er sich sicher in einem definierten Zustand befindet (es geht ja auch Zeit für das Springen in die ISRs verloren). Da ein gesendetes high (logisch 1) beim TSOP dann als low ausgegeben wird, habe ich diese Abfrage mit "Not" wieder inventiert, siehe hier
Hier nochmal mein gedankliche Ablauf, wann was passieren "müsste"

Wenn also die IR-LED eine logische 1 sendet, sollte in der Variable "Ir_data" auch eine 1 landen.
Beim Zeichnen des Bildes kam mir allerdings ein Gedanke: Was passiert, wenn der TSOP erst die zweite 1 bemerkt. Dann wäre meine ganze Auswertung im Eimer.
Mann, das "bisschen" IR-Übertragen bringt mich bald ins Grab... 
mfg
Robert
Lesezeichen