PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schrittweise Programm abarbeiten



fredyxx
22.05.2016, 23:38
Hallo,
gibt es in der Arduino IDE so etwas wie in Visual Basic, nämlich eine schrittweise Programmabarbeitung?

Wenn ja, wie.

Gruß fredyxx

witkatz
23.05.2016, 00:16
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)

fredyxx
23.05.2016, 09:40
Was meinst du mit Schrittweise?
- Schrittweise bzw. Zeilenweise Debugging mit Step-Into und Step-Over, usw.


Das meine ich!

HaWe
23.05.2016, 10:24
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.

fredyxx
23.05.2016, 11:00
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

Sisor
23.05.2016, 19:11
Bitte nicht doppelt in 2 Threads posten.