Hallo
ich habe gerade versucht den code aus der Bascom Hilfe für den RC5 Empfang auf einem ATMEGA2560 zum laufen zu bekommen.
Leider meckert Bascom diese Zeile an :
Code:Gifr = Gifr Or &H80 'clear Flag Int1
Die Fehlermeldung lautet : Error invalid datatyp ?!
Heißt das Register anders beim ATMEGA2560 ?
kann man das irgendwie umbauen oder hat jemand funktionierenden Code für den ATMEGA2560 ?
Hier der gesamte Code :
Code:'Diese Anweisung setzt die Fusebits automatisch korrekt (Syntax $PROG LB, FB , FBH , FBX ) $prog , 255 , &B11011001 , 'Quarz an / Teiler aus / Jtag aus $regfile = "m2560def.dat" $hwstack = 82 '80 $framesize = 68 ' 64 $swstack = 68 '44 $crystal = 16000000 'Quarzfrequenz Config Pine.5 = Input USB Alias Pine.5 'Ist 1 wenn USB angeschlossen Config Com4 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Open "com4:" For Binary As #4 '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 Sound Portl.4 , 400 , 350 'BEEP End If 'RC5 Anfang Ton Stumm Taste If Command_rc5 = 13 Then ' Taste Stumm ist Code 13 Sound Portl.4 , 400 , 350 'BEEP End If End If '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
Danke und Gruß
Steffen[/code]







Zitieren

Lesezeichen