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.
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;
}
}
}
sorry, wenns net perfekt eingerückt ist.
mfg
Lesezeichen