Robby als rollende Fernbedienung
Hallo michak1,
das RC5-Sendeformat des Robby sieht ja so aus:
S S T a4 a3 a2 a1 a0 c5 c4 c3 c2 c1 c0 == RC5
......<-KANAL-> <------ DATEN --------->
Mit der Routine SEND_TLM kann man das senden, wobei der Kanal in HBYTE (0..15) übergeben wird, die Daten in LBYTE.
Die Daten finden sich dann im Sendeprotokoll in c0 bis a1 wieder, der Kanal in a2 bis T.
Wenn Du den selben Code wie Deine RC5-Fernbedienung senden willst, nehmen wir z.B. die Taste ON/OFF mit dem CMD 12 und der ADR 0:
Vor dem Aufruf von SEND_TLM muß ...
- LBYTE auf 12
- HBYTE auf 0 gesetzt werden,
soll danach erneut ON/OFF gesendet werden, muß ...
- LBYTE wieder auf 12
- HBYTE auf 32 gesetzt werden.
In HBYTE muss also das Bit 3 (Zählung 0..7) bei jeder neuen Sendung getoggelt (umgeschaltet) werden.
Falls Dein zu steuerndes Gerät NICHT die Adresse 0 (wie im oberen Beispiel) hat, verteilen sich die Bits a0 bis a4 der Adresse (ADR) nacheinander auf die Bits 6 und 7 von LBYTE und auf 0 bis 2 von HBYTE.
Für die Bits c0 bis c5 des Kommandos (CMD) steht also nicht das ganze HBYTE, sondern nur die Bits 0 bis 5 davon zur Verfügung.
Wenn Du also vor dem Aufruf von SEND_TLM das gewünschte CMD und ADR so wie oben angegeben auf HBYTE und LBYTE verteilst, und Bit 3 in HBYTE bei jedem neuen Senden umschaltest, müßte der Robby wunderbar als Fernbedienung funktionieren. Das ist zwar vorher ein bisschen Bit-Schieberei, dürfte aber nicht so schwierig sein. Die Startbits S werden automatisch als 1 1 gesendet.
Gruß Dirk
P.S.: Ich hatte aber keine Zeit, um es zu probieren! 8-[