So ich hoffe ich habe alle RC5 Programmteile erwischt.
Das ist der Code :
@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.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







Zitieren

Lesezeichen