Ja danke ich glaub ich habs kapiert. Eines noch ich hab mit interrupts ein menü gebastelt . Das ganze funktioniert über if Bedienungen mit denen er dann in die verschiedenen case springt.
Wenn ich jetzt mehrere voids im case aufrufe kann ich das display nicht mehr bedienen.
case 1: Teachen_menue();
joystick();
break;
.................................................. .................................................. ...............................
void Teachen_menue() //Menü Teachen, Display Ausgabe
{ lcd.clear();
lcd.setCursor(0,0) ;
lcd.print("---Teaching-Modus---") ;
lcd.setCursor(0,1) ;
lcd.print( "x=") ; lcd.print(x) ;
lcd.setCursor(7,1) ;
lcd.print( "y=") ; lcd.print(y) ;
lcd.setCursor(14,1) ;
lcd.print( "z=") ; lcd.print(z) ;
lcd.setCursor(0,2) ;
lcd.print( "Speed=") ; lcd.print(Speed) ;
lcd.setCursor(10,2);
lcd.print( "Delay=") ; lcd.print(Delay) ;
lcd.setCursor(0,3);
lcd.print( "Tool=") ; lcd.print(Tool) ;
lcd.setCursor(10,3);
lcd.print( "Pos=") ; lcd.print(Pos) ;
delay(500);
}
.................................................. .......................
void Joystick()
{
int analog_in0 = (512 - analogRead(ANALOG_IN0));
int analog_in1 = (512 - analogRead(ANALOG_IN1));
int analog_in2 = (512 - analogRead(ANALOG_IN2));
int analog_in3 = (512 - analogRead(ANALOG_IN3));
int AN0, AN01;
int AN1, AN11;
int AN2, AN21;
int AN3, AN31;
//.......Stepper1..........//
if (analog_in0 >= 35 )
{
AN0 = exp(analog_in0 / 67);
Stepper0.setSpeed(AN0) ;
Stepper0.runSpeed();
}
else if (analog_in0 <= -35)
{
AN01 = exp(-analog_in0 / 67);
Stepper0.setSpeed(-AN01) ;
Stepper0.runSpeed();
}
//........Stepper2...........//
else if (analog_in1 >= 35 )
{
AN1 = exp(analog_in1 / 67 );
Stepper1.setSpeed(AN1) ;
Stepper1.runSpeed();
}
else if (analog_in1 <= -35)
{
AN11 = exp(-analog_in1 / 67 );
Stepper1.setSpeed(-AN11) ;
Stepper1.runSpeed();
}
//..........Stepper3..........//
else if (analog_in2 >= 35)
{
AN2 = exp (analog_in2 / 67);
Stepper2.setSpeed(AN2) ;
Stepper2.runSpeed();
}
else if (analog_in2 <= -35)
{
AN21 = exp (-analog_in2 / 67);
Stepper2.setSpeed(-AN21) ;
Stepper2.runSpeed();
}
//............Stepper4...........//
else if (analog_in3 >= 35 )
{
AN3 = exp (analog_in3 / 67);
Stepper3.setSpeed(AN3) ;
Stepper3.runSpeed();
}
else if (analog_in3 <= -35)
{
AN31 = exp (-analog_in3 / 67 );
Stepper3.setSpeed(-AN31) ;
Stepper3.runSpeed();
}
Serial.print( analog_in0 ); Serial.print( ' ' );
Serial.print( analog_in1 ); Serial.print( ' ' );
Serial.print( analog_in2 ); Serial.print( ' ' );
Serial.print( analog_in3 ); Serial.println( "" );
}
case ist für mich wenn ich es richtig verstanden habe, ja nichts anderes als eine schleife die er solange abläuft bis ein break kommt oder ein anderer case gewählt wird ?
Lesezeichen