hi ho...
puh...also ich hab mal was aus dem programm ausgeschnitten...ich weiß aber nicht ob man da durchsteigt...tue ich nämlich selber nimmer weil das schon ne weile her is...müsste ich mich erst wieder reinfuchsen.
sorry, wenns net perfekt eingerückt ist.Code:while(1) { taster_abfrage(); //Abfrage Status if((taster1==1) && (status==0)) { taster1=0; status=1; } if((status==0) && (taster2==1)) //falls Status = nicht-menue Modus { index++; if(index==3) { index=0; } } if(status==1) //falls Status = menue Modus { switch (menue_index) { case 0: send_b(0x03); strcpy(text, "Schaltbl.: "); send_d(text); send(48+schaltblitz_ztausend); send(48+schaltblitz_tausend); send(48+schaltblitz_hundert); send(48); send(48); send_b(0xC0); if(einstellen==0) { strcpy(text, "Ok Weiter >"); } else { strcpy(text, "Ziffer erhoehen"); } send_d(text); taster_abfrage_menue(); break; case 1: send_b(0x03); strcpy(text, "Impulse / U: "); send_d(text); if (takt==1) { strcpy(text, " 1"); send_d(text); } else { strcpy(text, "0.5"); send_d(text); } send_b(0xC0); strcpy(text, "Aendern Weiter >"); send_d(text); taster_abfrage_menue(); break; case 2: send_b(0x03); strcpy(text, "Uhrzeit "); send_d(text); send_b(0xC0); strcpy(text, "Ok Weiter >"); send_d(text); taster_abfrage_menue(); break; case 3: send_b(0x03); strcpy(text, "Balken max "); send_d(text); umwandeln(balken_max); send(48+ztausender); send(48+tausender); send(48+hunderter); send(48+zehner); send(48+einer); send_b(0xC0); strcpy(text, "Aendern Weiter >"); send_d(text); taster_abfrage_menue(); break; case 4: send_b(0x03); strcpy(text, "Verlassen "); send_d(text); send_b(0xC0); strcpy(text, "Ok Weiter >"); send_d(text); taster_abfrage_menue(); menue_index=0; break; } } } //ende While } //ende Main void taster_abfrage() { //Taster Entprellung if((s1 == 0) && (gesperrt1 == 0)) { taster1 = 1; gesperrt1 = 1; pause(10); } if(s1 == 1) { taster1 = 0; gesperrt1 = 0; pause(10); } if((s2 == 0) && (gesperrt2 == 0)) { taster2 = 1; gesperrt2 = 1; pause(10); } if(s2 == 1) { taster2 = 0; gesperrt2 = 0; pause(10); } } void taster_abfrage_menue() { taster1=0; if(einstellen==1) { taster1=1; //ins einstellen springen } while((taster1==0) && (taster2==0)) { taster_abfrage(); } if(taster2==1) { taster2=0; menue_index++; } if(taster1==1) { taster1=0; switch(menue_index) { case 0: if(einstellen==0) { einstellen=1; break; } send_b(0x0F); // 0000 1111 Cursor an; Blinken switch(ziffer_aktiv) { case 0: send_b(0x8B); while((taster1==0) && (taster2==0)) { taster_abfrage(); } if(taster1==1) { ziffer_aktiv++; taster1=0; } if(taster2==1) { taster2=0; schaltblitz_ztausend++; if(schaltblitz_ztausend==3) { schaltblitz_ztausend=0; } } break; case 1: send_b(0x8C); while((taster1==0) && (taster2==0)) { taster_abfrage(); } if(taster1==1) { ziffer_aktiv++; taster1=0; } if(taster2==1) { taster2=0; schaltblitz_tausend++; if(schaltblitz_tausend==10) { schaltblitz_tausend=0; } } break; case 2: send_b(0x8D); while((taster1==0) && (taster2==0)) { taster_abfrage(); } if(taster1==1) { ziffer_aktiv++; taster1=0; } if(taster2==1) { taster2=0; schaltblitz_hundert++; if(schaltblitz_hundert==10) { schaltblitz_hundert=0; } } break; case 3: ziffer_aktiv=0; einstellen=0; break; } schaltblitz_drehzahl=schaltblitz_ztausend*10000 + schaltblitz_tausend*1000 + schaltblitz_hundert*100; break; case 4: status=0; break; } } }
mfg







Zitieren
Lesezeichen