Forum: Programmieren allgemein
by Reinhard Kern,
15. Okt 2007
http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm
Gruss Reinhard
Forum: Programmieren allgemein
by Reinhard Kern,
15. Okt 2007
Warum nimmst Du nicht WINLIRC?
Hallo,
ich habe einen kurzen Blick in die Source geworfen - damit das funktioniert, wird mit allen Tricks die Priorität auf die technisch höchstmögliche hochgeschraubt, noch mehr als normale Realtime-Priorität. Das ist höchstens ein Beispiel dafür, wie man absolut nicht programmieren sollte - rücksichtsloses Ansichreissen aller Resourcen für einen völlig...
Forum: Programmieren allgemein
by Reinhard Kern,
14. Okt 2007
Hallo,
wenn ein Signal anliegt, wird im ersten if eine Verzögerung gestartet und (vielleicht) das 2 Halbbit abgefragt. Ohne Signal passiert das gleiche, nur ohne Verzögerung, und alles weitere läuft so ab, wie mit Signal, aber zu falschen Zeitpunkten. Kannst du erklären, was das bewirken soll?
Normal wäre: wenn kein Signal anliegt, passiert NICHTS.
Nur das erste von vielen Problemen,...
Forum: Programmieren allgemein
by Reinhard Kern,
11. Okt 2007
Laut Link: der 36 kHz Carrier wird vom Receiver detektiert, die einzelnen Impulse muss man also nicht berücksichtigen. Es bleibt aber dabei: es müssen bis zu 28 Flanken erfasst werden im Abstand von 0.89 oder 1.78 msec - wobei das gerade der Unterschied zwischen 0 und 1 ist. Um das zuverlässig abzutasten, müsste man einen Timer mit einer Periode 0.222 msec haben, den es unter Windows nicht gibt....
Forum: Programmieren allgemein
by Reinhard Kern,
10. Okt 2007
Denkfehler 1 : mit dem Einschalten machst du den Empfänger scharf, deswegen weisst du noch lange nicht, wann der Sender startet - ich denke doch, wenn man auf einen Knopf drückt, oder handelt es sich nicht um eine Fernbedienung? Aber auch sonst weisst du das nicht auf die msec genau.
Ansonsten fehlt da was: was ist vor der gezeichneten Schaltung - ein IR Empfänger, vielleicht ein Carrier...
Forum: Programmieren allgemein
by Reinhard Kern,
10. Okt 2007
Sagen wirs mal so: ich fürchte, mit dieser Hardware würde ich es auch nicht hinkriegen. Und dann im Fernlehrverfahren...
Aber niemand hindert dich, dein Projekt gegen alle Widrigkeiten durchzuziehen - was uns nicht tötet, macht uns nur härter. Ich lasse mich gern positiv überraschen, also melde dich unbedingt, wenn der Empfang zuverlässig läuft.
Gruss Reinhard
Forum: Programmieren allgemein
by Reinhard Kern,
10. Okt 2007
Hallo,
das ist längst nicht alles:
1.78 ms ist die Zeit für ein ganzes Bit - die Hälfte Hi, die Hälfte Lo. Und um einen Timer auf ein asynchrones Signal halbwegs sicher zu sysnchronisieren, muss man mindestens mit der achtfachen Bit-Frequenz abtasten, so wie bei einem asynchronen UART. Von selbst laufen die Time Interrupts und der IR-Sender ja nicht synchron.
Ausserdem berücksichtigst du...
Forum: Programmieren allgemein
by Reinhard Kern,
10. Okt 2007
Hallo,
RC5 benutzt einen Träger mit 27.8 µsec Periode und eine Bitperiode von 1.78 ms - wo bitte ist in deiner Software die Zeitmessung? Und wo ist die Manchester-Dekodierung?
Eine technische Beschreibung findest du hier:
http://www.ece.umd.edu/class/enee445.S2004/rc5codec.pdf
Gruss Reinhard