Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Funktionstasten Kategorie: Programmierung (von Walter - 16.12.2006 20:04)
Als Antwort auf Re: Funktionstasten von reneforster - 11.12.2006 20:44
Ich nutze:
C-Control II Station, original OS
> > Hallo!
> >
> > Möchte gerne mit der Funktionstaste (F1) den Relaisausgang (K1) bei Betätigung
> > schalten. Hoffe mir kann wieder mal jemand helfen!
> >
> > Vielen Dank - wünsche noch ein schönes Wochenende!
>
> Servus Walter,
>
> die Funktionstasten werden wie die normalen Tasten mit einem Code abgefragt.
> F1 = 10
> F2 = 11
> F3 = 12
>
> Ich habe bei mir z.B. einen Extra Thread zur Tastenabfrage erstellt. Dieser Thread läuft dann in einer
> Schleife mit run1. (niedrige Prio, reicht für die Erkennung des Tastendrucks völlig aus)
>
> z.B.
>
>
> //-------------------------------------
> thread Tasten
> //-------------------------------------
> {
> run 1;
> byte data_s[7];
> int n,ad,getkey;
> long code;
> string s,t;
>
> global.Menu=0;
>
> loop
> {
> code=stkeyb.get();
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 1) // Ausführen bei Drücken von 1 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {// Licht Wohnzimmer alles AUS **************************************
> max7311.set(2,0,0);max7311.set(2,1,0);max7311.set(2,2,0);max7311.set(2,3,0);
> max7311.set(2,4,0);max7311.set(2,5,0);max7311.set(2,6,0);max7311.set(2,7,0);
> max7311.set(2,8,0);max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,0);
> max7311.set(2,12,0);max7311.set(2,13,0);max7311.set(2,14,0);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");lcdext.line(2);lcdext.print("Lampen AUS");
> global.LA1=0;global.LA2=0;global.LA3=0;global.LA4=0;global.LA5=0;global.aus232=4;sleep 500;continue;}
>
> if global.Menu==2 // Ostseite alles Rolladen ZU **************************************
> {max7311.set(0,7,1);max7311.set(0,1,1);max7311.set(0,9,1);
> lcdext.clear();lcdext.print("Ostseite");lcdext.line(2);lcdext.print("Rolladen ZU");
> sleep 500;max7311.set(0,7,0);max7311.set(0,1,0);max7311.set(0,9,0);sleep 500;continue;}
>
> if global.Menu==3 // Wohnzimmer Strom EIN **************************************
> {max7311.set(6,5,0);max7311.set(6,4,1);
> lcdext.clear();lcdext.print("Wohnzimmer");lcdext.line(2);lcdext.print("Strom EIN");
> sleep 500;continue;}
>
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 2) // Ausführen bei Drücken von 2 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {// Licht Wohnzimmer alles EIN **************************************
> max7311.set(2,0,1);max7311.set(2,1,0);max7311.set(2,2,0);
> max7311.set(2,3,1);max7311.set(2,4,0);max7311.set(2,5,0);
> max7311.set(2,6,1);max7311.set(2,7,0);max7311.set(2,8,0);
> max7311.set(2,9,1);max7311.set(2,10,0);max7311.set(2,11,0);
> max7311.set(2,12,1);max7311.set(2,13,0);max7311.set(2,14,0);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");
> lcdext.line(2);lcdext.print("Lampen EIN");
> global.LA1=1;global.LA2=1;global.LA3=1;global.LA4=1;global.LA5=1;global.aus232=4;sleep 500;continue;}
>  
> if global.Menu==2 // Ostseite alles Rolladen AUF *************************************
> {max7311.set(0,6,1);max7311.set(0,0,1);max7311.set(0,8,1);lcdext.clear();
> lcdext.print("Ostseite");lcdext.line(2);lcdext.print("Rolladen AUF");
> sleep 500;max7311.set(0,6,0);max7311.set(0,0,0);max7311.set(0,8,0);sleep 500;continue;}
>
> if global.Menu==3 // Wohnzimmer Strom AUS **************************************
> {max7311.set(6,4,0);max7311.set(6,5,1);
> lcdext.clear();lcdext.print("Wohnzimmer");lcdext.line(2);lcdext.print("Strom AUS");
> sleep 500;continue;}
>
> sleep 500;}
>  
>  
>  
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 3) // Ausführen bei Drücken von 3 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {// Licht Wohnzimmer alles Tageslicht ******************************
> max7311.set(2,15,1);
> max7311.set(2,0,1);max7311.set(2,1,1);max7311.set(2,2,0);
> max7311.set(2,3,1);max7311.set(2,4,1);max7311.set(2,5,0);
> max7311.set(2,6,1);max7311.set(2,7,1);max7311.set(2,8,0);
> max7311.set(2,9,1);max7311.set(2,10,1);max7311.set(2,11,0);
> max7311.set(2,12,1);max7311.set(2,13,1);max7311.set(2,14,0);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");
> lcdext.line(2);lcdext.print("Lampen TAG");
> global.LA1=4;global.LA2=4;global.LA3=4;global.LA4=4;global.LA5=4;global.aus232=4;sleep 500;continue;}
>  
> if global.Menu==2 // Südseite alles Rolladen ZU **************************************
> {max7311.set(0,11,1);max7311.set(0,5,1);max7311.set(1,1,1);lcdext.clear();
> lcdext.print("Suedseite");lcdext.line(2);lcdext.print("Rolladen ZU");
> sleep 500;max7311.set(0,11,0);max7311.set(0,5,0);max7311.set(1,1,0);sleep 500;continue;}
>
> if global.Menu==3 // Arbeitszimmer Strom EIN **************************************
> {max7311.set(6,3,0);max7311.set(6,2,1);
> lcdext.clear();lcdext.print("Arbeitszimmer");lcdext.line(2);lcdext.print("Strom EIN");
> sleep 500;continue;}
>  
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 4) // Ausführen bei Drücken von 4 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {max7311.set(2,15,1);
> max7311.set(2,0,0);max7311.set(2,1,1);max7311.set(2,2,0);
> max7311.set(2,3,0);max7311.set(2,4,1);max7311.set(2,5,0);
> max7311.set(2,6,0);max7311.set(2,7,1);max7311.set(2,8,0);
> max7311.set(2,9,0);max7311.set(2,10,1);max7311.set(2,11,0);
> max7311.set(2,12,0);max7311.set(2,13,1);max7311.set(2,14,0);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");
> lcdext.line(2);lcdext.print("Lampen Kombi 1");
> global.LA1=2;global.LA2=2;global.LA3=2;global.LA4=2;global.LA5=2;global.aus232=4;sleep 500;continue;}
>
> if global.Menu==2 // Südseite alles Rolladen AUF *************************************
> {max7311.set(0,10,1);max7311.set(0,4,1);max7311.set(1,0,1);lcdext.clear();
> lcdext.print("Sueddseite");lcdext.line(2);lcdext.print("Rolladen AUF");
> sleep 500;max7311.set(0,10,0);max7311.set(0,4,0);max7311.set(1,0,0);sleep 500;continue;}
>
> if global.Menu==3 // Arbeitszimmer Strom AUS **************************************
> {max7311.set(6,2,0);max7311.set(6,3,1);
> lcdext.clear();lcdext.print("Arbeitszimmer");lcdext.line(2);lcdext.print("Strom AUS");
> sleep 500;continue;}
>  
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 5) // Ausführen bei Drücken von 5 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {max7311.set(2,15,1);
> max7311.set(2,0,0);max7311.set(2,1,1);max7311.set(2,2,0);
> max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
> max7311.set(2,6,0);max7311.set(2,7,1);max7311.set(2,8,0);
> max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
> max7311.set(2,12,0);max7311.set(2,13,1);max7311.set(2,14,0);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");
> lcdext.line(2);lcdext.print("Lampen Kombi 2");
> global.LA1=2;global.LA2=3;global.LA3=2;global.LA4=3;global.LA5=2;global.aus232=4;sleep 500;continue;}
>
> if global.Menu==2 // Westseite alles Rolladen ZU *************************************
> {max7311.set(1,3,1);max7311.set(1,5,1);lcdext.clear();
> lcdext.print("Westseite");lcdext.line(2);lcdext.print("Rolladen ZU");
> sleep 500;max7311.set(1,3,0);max7311.set(1,5,0);sleep 500;continue;}
>
> if global.Menu==3 // Heizdecke einschalten **************************************
> {max7311.set(6,1,0);max7311.set(6,0,1);
> lcdext.clear();lcdext.print("Heizdecke");lcdext.line(2);lcdext.print("eingeschaltet");
> sleep 500;continue;}
>  
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 6) // Ausführen bei Drücken von 6 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {max7311.set(2,15,1);
> max7311.set(2,0,0);max7311.set(2,1,0);max7311.set(2,2,1);
> max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
> max7311.set(2,6,0);max7311.set(2,7,0);max7311.set(2,8,1);
> max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
> max7311.set(2,12,0);max7311.set(2,13,0);max7311.set(2,14,1);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");
> lcdext.line(2);lcdext.print("Lampen Kombi 3");
> global.LA1=3;global.LA2=3;global.LA3=3;global.LA4=3;global.LA5=3;global.aus232=4;sleep 500;continue;}
>
> if global.Menu==2 // Westseite alles Rolladen AUF ************************************
> {max7311.set(1,2,1);max7311.set(1,4,1);lcdext.clear();
> lcdext.print("Westseite");lcdext.line(2);lcdext.print("Rolladen AUF");
> sleep 500;max7311.set(1,2,0);max7311.set(1,4,0);sleep 500;continue;}
>
> if global.Menu==3 // Heizdecke ausschalten **************************************
> {max7311.set(6,0,0);max7311.set(6,1,1);
> lcdext.clear();lcdext.print("Heizdecke");lcdext.line(2);lcdext.print("ausgeschaltet");
> sleep 500;continue;}
>  
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 7) // Ausführen bei Drücken von 7 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {max7311.set(2,15,1);
> max7311.set(2,0,0);max7311.set(2,1,1);max7311.set(2,2,0);
> max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
> max7311.set(2,6,0);max7311.set(2,7,0);max7311.set(2,8,1);
> max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
> max7311.set(2,12,0);max7311.set(2,13,1);max7311.set(2,14,0);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");
> lcdext.line(2);lcdext.print("Lampen Kombi 4");
> global.LA1=2;global.LA2=3;global.LA3=3;global.LA4=3;global.LA5=2;global.aus232=4;sleep 500;continue;}
>
> if global.Menu==2 // Nordseite alles Rolladen ZU *************************************
> {max7311.set(1,9,1);max7311.set(0,3,1);max7311.set(0,15,1);max7311.set(0,13,1);lcdext.clear();
> lcdext.print("Nordseite");lcdext.line(2);lcdext.print("Rolladen ZU");sleep 500;
> max7311.set(1,9,0);max7311.set(0,3,0);max7311.set(0,15,0);max7311.set(0,13,0);sleep 500;continue;}
>  
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 8) // Ausführen bei Drücken von 8 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 {max7311.set(2,15,1);
> max7311.set(2,0,0);max7311.set(2,1,0);max7311.set(2,2,1);
> max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
> max7311.set(2,6,0);max7311.set(2,7,1);max7311.set(2,8,0);
> max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
> max7311.set(2,12,0);max7311.set(2,13,0);max7311.set(2,14,1);
> lcdext.clear();lcdext.print("Licht Wohnzimmer");
> lcdext.line(2);lcdext.print("Lampen Kombi 5");
> global.LA1=3;global.LA2=3;global.LA3=2;global.LA4=3;global.LA5=3;global.aus232=4;sleep 500;continue;}
>
> if global.Menu==2 // Nordseite alles Rolladen AUF ************************************
> {max7311.set(1,8,1);max7311.set(0,2,1);max7311.set(0,14,1);max7311.set(0,12,1);lcdext.clear();
> lcdext.print("Nordseite");lcdext.line(2);lcdext.print("Rolladen AUF");sleep 500;
> max7311.set(1,8,0);max7311.set(0,2,0);max7311.set(0,14,0);max7311.set(0,12,0);sleep 500;continue;}
>
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 9) // Ausführen bei Drücken von 9 ***********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 { // LED am Brunnen einschalten *************************************
> max7311.set(5,1,1);global.LED6=1;global.aus232=4;
> lcdext.clear();lcdext.print("Licht Wohnzimmer");lcdext.line(2);lcdext.print("LED Brunnen EIN");
> sleep 500;continue;}
>
> sleep 500;}
>  
>  
>  
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 0) // Ausführen bei Drücken von 0 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==1 { // LED am Brunnen ausschalten *************************************
> max7311.set(5,1,0);global.LED6=0;global.aus232=4;
> lcdext.clear();lcdext.print("Licht Wohnzimmer");lcdext.line(2);lcdext.print("LED Brunnen AUS");
> sleep 500;continue;}
>
> sleep 500;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 10) // Ausführen bei Drücken von F1 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==2 // Rolladen Zentral AUF *********************************************
> {max7311.set(1,8,1);max7311.set(0,2,1);max7311.set(0,14,1);max7311.set(0,12,1);lcdext.clear();
> lcdext.print("Zentral");lcdext.line(2);lcdext.print("Rolladen AUF");sleep 500;
> max7311.set(1,8,0);max7311.set(0,2,0);max7311.set(0,14,0);max7311.set(0,12,0);sleep 1000;
> max7311.set(0,6,1);max7311.set(0,0,1);max7311.set(0,8,1);sleep 500;
> max7311.set(0,6,0);max7311.set(0,0,0);max7311.set(0,8,0);sleep 1000;
> max7311.set(0,10,1);max7311.set(0,4,1);max7311.set(1,0,1);sleep 500;
> max7311.set(0,10,0);max7311.set(0,4,0);max7311.set(1,0,0);sleep 1000;
> max7311.set(1,2,1);max7311.set(1,4,1);sleep 500;
> max7311.set(1,2,0);max7311.set(1,4,0);sleep 500;continue;}
>
> sleep 500;}
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 11) // Ausführen bei Drücken von F2 *********************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==2 // Rolladen Zentral ZU **********************************************
> {max7311.set(1,9,1);max7311.set(0,3,1);max7311.set(0,15,1);max7311.set(0,13,1);lcdext.clear();
> lcdext.print("Zentral");lcdext.line(2);lcdext.print("Rolladen ZU");sleep 500;
> max7311.set(1,9,0);max7311.set(0,3,0);max7311.set(0,15,0);max7311.set(0,13,0);sleep 1000;
> max7311.set(0,7,1);max7311.set(0,1,1);max7311.set(0,9,1);sleep 500;
> max7311.set(0,7,0);max7311.set(0,1,0);max7311.set(0,9,0);sleep 1000;
> max7311.set(0,11,1);max7311.set(0,5,1);max7311.set(1,1,1);sleep 500;
> max7311.set(0,11,0);max7311.set(0,5,0);max7311.set(1,1,0);sleep 1000;
> max7311.set(1,3,1);max7311.set(1,5,1);sleep 500;
> max7311.set(1,3,0);max7311.set(1,5,0);sleep 500;continue;}
>
> sleep 500;}
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 12) // Ausführen bei Drücken von F3 *******************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
>
> if systemzeit.dow==0 {t="Sonntag";}
> if systemzeit.dow==1 {t="Montag";}
> if systemzeit.dow==2 {t="Dienstag";}
> if systemzeit.dow==3 {t="Mittwoch";}
> if systemzeit.dow==4 {t="Donnerstag";}
> if systemzeit.dow==5 {t="Freitag";}
> if systemzeit.dow==6 {t="Samstag";}
> if systemzeit.dow==7 {t="Sonntag";}
> lcdext.clear();sleep 5;lcdext.print(t);
>
> t="";str.putint(t,systemzeit.Uhrzeit);
> lcdext.line(2);lcdext.print(t);
> sleep 500;}
>
>
>
>
>
>  
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
> if(code == 13) // Ausführen bei Drücken von C ********************************
> {plm.beep(plm.TONE_C2); global.Menu=0;sleep 50; plm.beep(plm.TONE_OFF);
> lcdext.clear();sleep 5;lcdext.print("C-Control ist");
> lcdext.line(2);lcdext.print("betriebsbereit");
> sleep 500;continue;}
>
>
>
> //**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**

> if(code == 14) // Ausführen bei Drücken von ENTER ****************************
> {plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
> if global.Menu==0 {global.Menu=1;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
> lcdext.line(2);lcdext.print("Licht Wohnzimmer");sleep 500;continue;}
> if global.Menu==1 {global.Menu=2;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
> lcdext.line(2);lcdext.print("Rolladen");sleep 500;continue;}
> if global.Menu==2 {global.Menu=3;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
> lcdext.line(2);lcdext.print("Funktionen");sleep 500;continue;}
> if global.Menu==3 {global.Menu=0;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
> lcdext.line(2);lcdext.print("nicht belegt 2");sleep 500;continue;}
> sleep 500;
> }
>  
> }}
>
>

>
> Nimmst Dir halt raus was Du brauchst, im Beispiel ist ein Menü.
> Aber den Sinn kann man hoffentlich rauslesen.
>
> Rene




Hallo Rene!

Vielen Dank für die Hilfe - war leider beruflich solange unterwegs konnte mich noch nicht
bedanken. Ich glaube jetzt werde ich es schaffen

Danke nochmals, schönes Wochenende!

Walter


    Antwort schreiben


Antworten: