Archiv verlassen und diese Seite im Standarddesign anzeigen : schrittweise Programm abarbeiten
Hallo,
gibt es in der Arduino IDE so etwas wie in Visual Basic, nämlich eine schrittweise Programmabarbeitung?
Wenn ja, wie.
Gruß fredyxx
eine schrittweise Programmabarbeitung?Was meinst du mit Schrittweise?
- Schrittweise bzw. Zeilenweise Debugging mit Step-Into und Step-Over, usw.
- oder meinst du Programmierung von Schrittketten, sog. Statemachine (http://www.mikrocontroller.net/articles/Statemachine)
Was meinst du mit Schrittweise?
- Schrittweise bzw. Zeilenweise Debugging mit Step-Into und Step-Over, usw.
Das meine ich!
unter Vorbehalt - aber: nein, einen solchen Debugger gibt es meines Wissens in der Arduino-IDE nicht, leider.
Du kannst nur mit selber einprogrammierten Haltepunkten (z.B. warten auf Button-Press) und der Serial Konsole so etwas halbwegs hinfriemeln.
Danke, aber schade.
Gruß
fredyxx
- - - Aktualisiert - - -
Hallo,
bitte in die Antwort nicht viel Zeit investieren, ich such selber noch. Aber evtl. fällt euch spontan was ein.
Der Code ist auch auf das Wesentliche gekürzt
float lzahn2;
float lzahn2_alt = 98; // Ausfahrlänge von Zahnstange 2 nach Justierung
float lzahn3;
float lzahn3_alt = 67; // Ausfahrlänge von Zahnstange 3 nach Justierung
float x1 = 344.67; // // Koordinaten von Punkt P1, den das Schaufelgelenk ansteuern soll
float y1 = 184.45; //
float W4;
void setup() {
Serial.begin (250000); // diese Buadrate muss auch in der Konsole (Serieller Monitor) eingestellt sein
while (!Serial);
}
void loop() {
Serial.print ("Drehwinkel2 = ");
Serial.println (Drehwinkel2_ber (),4); // Druckt Ergebnis des UPs mit 4 Stellen hinter dem Komma
Serial.print ("Drehwinkel3 = ");
Serial.println (Drehwinkel3_ber (),4); // Druckt Ergebnis von lzahn2 mit 4 Stellen hinter dem Komma
Serial.print ("lzahn2 = ");
Serial.println (lzahn2); // Druckt Ergebnis von lzahn2
Serial.print ("lzahn3 = ");
Serial.println (lzahn3); // Druckt Ergebnis von lzahn3
delay(2000);
}
// **************************************Unterprogram m Drehwinkel2_ber *******************************
int Drehwinkel2_ber ( ) {
// hier Berechnung von delta_lzahn2
int Drehwinkel2 = int(470.0 / 77.0 * delta_lzahn2);
Serial.print ("Klammer = ");
Serial.println (470.0 / 77.0 * delta_lzahn2); // Druckt Ergebnis von Klammer
Serial.println (Drehwinkel2); // Druckt Ergebnis von Drehwinkel2
delay(5000);
return Drehwinkel2; // die Ausgabe erfolgt in Grad
}
// **************************************Unterprogram m Drehwinkel3_ber *******************************
float Drehwinkel3_ber ( ) {
// hier Berechnung von lzahn3 und Drehwinkel3
int Drehwinkel3 = int(470.0 / 77.0 * delta_lzahn3);
return Drehwinkel3; // die Ausgabe erfolgt in mm
}
Auf der Konsole sehe ich dann sofort:
Drehwinkel2 = Klammer = 469.53
469 das ist nch ok
dann nach 5 s
13111 woher kommt die ?
Im Code sind die Befehle, die zu diesen Ausgaben führen fett
Gruß fredyxx
Bitte nicht doppelt in 2 Threads posten.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.