Hallo,
also ich probiere schon die ganze Zeit an diesem Programm rum:
Es soll im Endeffekt dann ein LED Controller werden, mit Ausgang an PortA und PortC. Mein Problem ist, dass wenn ich den getrc5 Befehl in die Interruptroutine reinpacke, er in dem Interrupt hängenbleibt. Wenn ich in der Hauptschleife den RC5 Code empfange, alles tadellos funktioniert, aber sobald es per Int seinen soll net mehr.
Ich hoffe ihr könnt mir helfen, Danke schon mal im vorraus.Code:'LED Controller '-------------------------------------------------------------- $regfile = "m16def.dat" $crystal = 16000000 Mcucsr.4 = 1 Mcucsr.4 = 1 Config Porta = 255 Config Portc = 255 Config Portd = 0&11111111 Config Portb = 0&00011001 Config Rc5 = Pinb.2 Config Int2 = Falling On Int2 Interrupt Enable Int2 Config Lcdmode = Port Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , Rs = Portb.0 , E = Portb.3 Config Lcd = 16 * 2 Initlcd Dim Address As Byte , Command As Byte Dim Onoff As Bit Dim Rc As Bit Porta = 255 'LEDs an Portc = 255 Cls Cursor Off Noblink Lcd " LED Controller " Lowerline Lcd " Testversion" Enable Interrupts Mainloop: Lowerline Lcd "Warte auf RC5.." Do If Address < 255 Then Lowerline Lcd ; "Adr: " ; Address ; " Cmd: " ; Command ; " " If Address = 8 Then Select Case Command Case 1 : Toggle Porta.0 Case 2 : Toggle Porta.1 Case 3 : Toggle Porta.2 Case 4 : Toggle Porta.3 Case 5 : Toggle Porta.4 Case 6 : Toggle Porta.5 Case 7 : Toggle Porta.6 Case 8 : Toggle Porta.7 End Select End If End If Loop Interrupt: Getrc5(address , Command) Command = Command And &B01111111 Return







Zitieren

Lesezeichen