Olle_Filzlaus
28.11.2005, 23:04
Hallo,
ich habe das Beispielprogramm von Bascom bissel umgeändert damit es die RC5 Daten auf dem LCD Display ausgibt. funktioniert auch ganz gut.
nur eine kleine Sache verstehe ich nicht.
Ich gebe die Adresse und das Commando aus. Die Adresse ist jedesmal 0 und das Commando wechselt immer.
z.B. erstes mal die taste drücken gibt er den Wert 139 aus. zweites mal die Taste drücken gibt er die 11 aus. nochmal drücken wieder die 139.
warum das?? ich dachte die fernbedienung sendet auf jeder taste einen bestimmten code. nicht zwei.
weil das ist schlecht wenn man was steuern will und muss immer zweimal drücken.
hier mein beispielprgramm:
'******************************************
'* Atmega8 mit 8MHz Quarz *
'* Grundlage RC5 Empfang *
'******************************************
'************************************************* ******************************
$regfile "m8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.4 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.2 , Rs = Portd.0
Config Lcdbus = 4
Config Lcd = 16 * 2
$lib "mcsbyte.lbx"
Config Rc5 = Pinc.0
'************************************************* ******************************
Enable Interrupts
Dim Address As Byte , Command As Byte
Cursor Off
Cls
Lcd "Waiting for RC5."
Do
Getrc5(address , Command)
If Address = 0 Then
Command = Command And &B10111111
Locate 2 , 1
Lcd "Adr:" ; Address ; " Cmd:" ; Command ; " "
End If
Loop
End
thx for help
Arno
ich habe das Beispielprogramm von Bascom bissel umgeändert damit es die RC5 Daten auf dem LCD Display ausgibt. funktioniert auch ganz gut.
nur eine kleine Sache verstehe ich nicht.
Ich gebe die Adresse und das Commando aus. Die Adresse ist jedesmal 0 und das Commando wechselt immer.
z.B. erstes mal die taste drücken gibt er den Wert 139 aus. zweites mal die Taste drücken gibt er die 11 aus. nochmal drücken wieder die 139.
warum das?? ich dachte die fernbedienung sendet auf jeder taste einen bestimmten code. nicht zwei.
weil das ist schlecht wenn man was steuern will und muss immer zweimal drücken.
hier mein beispielprgramm:
'******************************************
'* Atmega8 mit 8MHz Quarz *
'* Grundlage RC5 Empfang *
'******************************************
'************************************************* ******************************
$regfile "m8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.4 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.2 , Rs = Portd.0
Config Lcdbus = 4
Config Lcd = 16 * 2
$lib "mcsbyte.lbx"
Config Rc5 = Pinc.0
'************************************************* ******************************
Enable Interrupts
Dim Address As Byte , Command As Byte
Cursor Off
Cls
Lcd "Waiting for RC5."
Do
Getrc5(address , Command)
If Address = 0 Then
Command = Command And &B10111111
Locate 2 , 1
Lcd "Adr:" ; Address ; " Cmd:" ; Command ; " "
End If
Loop
End
thx for help
Arno