Sauerbruch
05.03.2007, 10:15
Ich habe ien Problem mit RC5, das ich nicht so richtig vestehe. Zum Equipment: Empfänger ist ein TSOP 1738,
uC ein ATmega8.
Die Adresse wird konstant richtig erkannt, der Kommando-Wert nimmt aber bei jedem erneuten Tastendruck um 128 zu bzw. wieder ab. D.h. wenn ich z.B. wiederholt die Taste "5" drücke, kommt als Kommando 5 und 133 im Wechsel.
Nun habe ich gelesen, dass das 2. Startbit auch als 7. Kommando-Bit genutzt werden kann. Wenn dieses Bit "toggeln" würde, wäre das ja eine gute Erklärung, weshalb sich das Kommando bei jedem erneuten Druck genau um 2^7 ändert. Könnte es also sein, dass der Befehl GetRC5 (Address, Command) das Toggle-Bit mit dem 2. Startbit verwechselt?
Das invertierte Signal aus dem RX habe ich mir auf dem Oszi mal ganz genau angesehen - es ist ein lupenreines, invertiertes RC5-Signal, und das 3. (!!) Bit toggelt. So, wie´s sein soll. Zumindestens dann, wenn ich die allererste, fallende Flanke nach dem längeren Ruhe-High als erstes Startbit mit dem Wert 1 interpretiere.
Dann habe ich das RX-Signal mal über einen Inverter an den uC geschickt - damit wurden allerdings keinerlei Adressen und Kommandos mehr erkannt. Die invertierte Lage scheint also o.k. zu sein.
Hat jemand eine Idee, woher dieses eigentümliche Verhalten kommen könnte?
uC ein ATmega8.
Die Adresse wird konstant richtig erkannt, der Kommando-Wert nimmt aber bei jedem erneuten Tastendruck um 128 zu bzw. wieder ab. D.h. wenn ich z.B. wiederholt die Taste "5" drücke, kommt als Kommando 5 und 133 im Wechsel.
Nun habe ich gelesen, dass das 2. Startbit auch als 7. Kommando-Bit genutzt werden kann. Wenn dieses Bit "toggeln" würde, wäre das ja eine gute Erklärung, weshalb sich das Kommando bei jedem erneuten Druck genau um 2^7 ändert. Könnte es also sein, dass der Befehl GetRC5 (Address, Command) das Toggle-Bit mit dem 2. Startbit verwechselt?
Das invertierte Signal aus dem RX habe ich mir auf dem Oszi mal ganz genau angesehen - es ist ein lupenreines, invertiertes RC5-Signal, und das 3. (!!) Bit toggelt. So, wie´s sein soll. Zumindestens dann, wenn ich die allererste, fallende Flanke nach dem längeren Ruhe-High als erstes Startbit mit dem Wert 1 interpretiere.
Dann habe ich das RX-Signal mal über einen Inverter an den uC geschickt - damit wurden allerdings keinerlei Adressen und Kommandos mehr erkannt. Die invertierte Lage scheint also o.k. zu sein.
Hat jemand eine Idee, woher dieses eigentümliche Verhalten kommen könnte?