
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, seit einiger Zeit versuche ich ein kleines Prog. zur Steuerung eines Vorverstärkers zu schreiben und bin nun leider an der Einbindung der Fernbedienung gescheitert. Folgendes Programm müßte eigendlich funktionieren: '******************************************* ' definition der Ports define AUS port[1] ' VV Ausgangsrelais 'define IR_Empf port[2] ' RC5 Empfang 'define IR_Send port[3] ' RC5 Send evtl später define AUF port[4] ' Select-Schalter auf define AB port[5] ' Select-Schalter ab define MR port[6] ' Motorpoti recht-lauter define ML port[7] ' Motorpoti links-leiser define Monitor port[8] ' Monitor bzw. Tape-Relais define SDA port[9] ' II2C Vorbelegt define SCL port[10] ' " define LIGHT port[16] ' LCD Beleuchtung define EXTP byteport[10] ' II2C externe Ports, Rel 1-8 define ADDR byte[1] ' Adresse f. RC5 define CMD byte[2] ' Command f. RC5 define Z byte[3] ' Zählimpulse vom Drehgeber define t byte[4] ' Timer für Einschaltverzögerung '----------- Grundzustand + Initialisierung -------------------- #INIT AUS=0 MR=0 ML=0 Monitor=0 EXTP=0 ' alle exgtended Ports LO LIGHT=0 ' Beleuchtung EIN t=2 ' Timer auf 2 Sek. später 2 Min. SDA=on:SCL=on print "#ON_LCD#"; print "#INIT#"; print "#CLR#"; print "#L103#"; print "(c) by Lutz"; pause 50 '--------- Einschaltverzögerung ------------------------------ #TIME t=t-1 print "#ON_LCD#"; print "#CLR#"; print"#L101#"; print "WAIT: "; print t; pause 50 print"#OFF#"; if t<>0 then goto TIME else POWER #POWER print "#ON_LCD#"; print "#CLR#"; print "#L101#"; print " ON "; print"#OFF#"; AUS=on ' Ausgangsrelais einschalten '----------- HAUPTPROGRAMM ---------------------------- #LOOP if AUF=0 and AB=on then goto SAUF if AB=0 and AUF=on then goto SAB print"#ON_IR#"; get ADDR:get CMD if CMD=10 then goto SAUF if CMD=11 then goto SAB print"#OFF#"; goto LOOP '----------- Eingangswahlschalter ---------------------- #SAUF EXTP=0 z = z + 1 if Z=4 then z=1 if Z=1 then goto PHONO if Z=2 then goto CD if Z=3 then goto DVD else SAUF #SAB EXTP=0 z = z - 1 if z=255 then z=3 if z=0 then z=3 if Z=1 then goto PHONO if Z=2 then goto CD if Z=3 then goto DVD else SAB '-------- LCD + Relaisansteuerung --------------------- #PHONO print "#ON_LCD#"; print "#CLR#"; pause 5 print "#L101#"; print " PHONO"; print"#OFF#"; EXTP=1 goto LOOP #CD print "#ON_LCD#"; print "#CL_R#"; pause 5 print "#L101#"; print " CD"; print"#OFF#"; EXTP=2 goto LOOP #DVD print "#ON_LCD#"; print "#CLR#"; pause 5 print "#L101#"; print " DVD"; print"#OFF#"; EXTP=4 goto LOOP '******************************************* Nach dem Start funktioniert der IR-Empfang genau einmal (Taste muß aber beim Start gedrückt sein!) danach nie wieder. Der Drehgeber (AUF,AB) funktioniert aber , d.h. das die Schleife funktioniert. Ein kleines Testprogramm das nur RC5 abfragt und Ports schaltet funktioniert auch ? ! ? Was mache ich falsch, ist doch eigendlich alles eindeutig, oder? Danke schon einmal für die HIlfe. Lutz |
| Antwort schreiben |