For-Schleife läuft schneller als Loop-Schleife?

Hallo,

wie schnell durchläuft die Loop-Schleife überhaupt?

Normalerweise habe ich print-ausgaben drinnen und gehe davon aus, dass es das ganze langsamer macht. Doch ich bemerkte dass auch ohne print langsam geht. Und habe ausprobiert dass eine for-Schleife schneller geht. Warum?

Es ist für mich wichtig zu wissen was der timer überhaupt ist, denn beim ansteuern von Motoren dürfen die Werte nicht zu schnell von 0 auf 100 steigen.

ich nehme an, die loop schleife hängt von der Baudrate ab?

Leider ist ohne Sketch oder Beispiel nicht ganz klar, was Du genau meinst.
Schaut man sich aber die Datei “hardware/arduino/cores/arduino/main.cpp” an, welche die Basis jedes Arduino-Programms bildet, sieht man, das loop() in einer Endlosschleife aufgerufen wird in der nur noch die serielle Schnittstelle abgefragt wird. Das ist der einzige Code, der loop() von einer leeren Schleife unterscheidet und sicher auch ein wenig langsamer macht.

#include <Arduino.h>

int main(void)
{
        init();

#if defined(USBCON)
        USBDevice.attach();
#endif

        setup();

        for (;;) {
                loop();
                if (serialEventRun) serialEventRun();
        }

        return 0;
}

Was ich an Deiner Frage nicht verstehe ist, was Du mit

s ist für mich wichtig zu wissen was der timer überhaupt ist

meinst? loop() hat nichts mit einem Timer zu tun.

Mario.

sorry, hab schlecht formuliert.

Wie oft durchläuft die loop-Schleife in der Sekunde ? ich dachte, dass wenn ich das wüsste, dann könnte ich die loop-schleife als Timer nutzen. Aber ich sehe gerade dass es die millis() Funktion gibt. Manchmal komme ich auf kuriose Gedanken.

Damit ich die Beschleunigung der Motoren bestimmen kann.

Mein Sketch nutzt nur pin Ein- und Ausgänge (pulseIn, digitalWrite und analogWrite), ein paar if-Anweisungen und war über die Langsamkeit der Code verwundert. Weil ich sonst nur Programmieren am PC kenne.

Hat Serial.begin(9600); unter setup() einfluss auf loop-Geschwindigkeit? Sonst ist in meinem Sketch nichts nennenswertes

sketch: http://arduino.cc/forum/index.php/topic,158424.msg1188193.html#msg1188193

Lass am Ende des Sketches das delay weg... Das machts fast sicher schneller 8)

serial.print() bremst den Sketch enorm. Du kennst die Baudrate auf 115200 setzen und so die serielle Ausganbe beschleunigen. Grüße Uwe