So ich hoffe ich habe alle RC5 Programmteile erwischt.
Das ist der Code :
Code:
'RC5 benötigt Timer0 Interrupt !
Config Rc5 = Pind.3
On Int1 Int1_int 'Nosave würde 52 Takte = 6,5uS sparen
Enable Int1
Config Int1 = Falling
Enable Interrupts
'Rückgabewerte der ISR
Dim Address_rc5 As Byte , Command_rc5 As Byte , Rc5_flag As Bit
'RC5 ENDE
do
'RC5 Anfang Power off Taste
If Rc5_flag = 1 Then
Reset Rc5_flag
Print "toggle:" ; Command_rc5.7;
'clear the toggle bit
Command_rc5 = Command_rc5 And &B01111111
Print " Adresse:" ; Address_rc5 ; " Code:" ; Command_rc5
If Command_rc5 = 12 Then
' Alles an das I2C RN-KEYLCD Senden
I2cinit
Stemp = Chr(12)
Rnlcd_clr
Rnlcd_cursor 4 , 1
Rnlcd "Fernbedienung"
Rnlcd_cursor 4 , 2
Rnlcd "aktiviert"
Print "Power off now !!"
Sound Portd.7 , 400 , 350 'BEEP
End If
'RC5 Anfang Ton Stumm Taste
If Command_rc5 = 13 Then ' Taste Stumm ist Code 13
' Alles an das I2C RN-KEYLCD Senden
I2cinit
Stemp = Chr(12)
Rnlcd_clr
Rnlcd_cursor 4 , 1
Rnlcd "Stumm Taste wurde"
Rnlcd_cursor 4 , 2
Rnlcd "aktiviert !!!"
Print "Stumm Taste aktiviert!!"
Sound Portd.7 , 400 , 350 'BEEP
End If
End If
'Waitms 100
'RC5 ENDE Power off Taste
loop
'RC5 Anfang
'Lesen der RC5 Codes
Int1_int: 'Interrupt Handler For Int1
Disable Int1
Enable Interrupts 'für Timer0 Overflow GetRC5
Getrc5(address_rc5 , Command_rc5)
Set Rc5_flag 'Flag für RC5 Daten
Gifr = Gifr Or &H80 'clear Flag Int1
Enable Int1
Return
'RC5 ENDE
@SprinterSB ja vermutlich hast du recht das Problem ist aber das der ATMEGA2560 einen anderen Register hat und ich mit den Datenblättern nicht so gut umgehen kann das ich rausfinde wie man die Register sinnvoll in Bascom übersetzt.
Lesezeichen