Zykluszeit Arduino Loop ist langsam.

Hallöchen.

Mir war gerade der Arduino zu langsam und ich habe einen kleinen Test gemacht. Dabei ging es nur darum, ob man im Setup einen For-Loop nutzt oder nicht. Ich habe festgestellt, dass es sich für mich lohnt. Recherchiert warum es schneller ist habe ich noch nicht. Aber die Zykluszeiten sind ca. 5 Mal so schnell!

Hier die Zykluszeiten im Loop:

Zykluszeit: 47565
Zykluszeit: 47614
Zykluszeit: 47565
Zykluszeit: 47614
Zykluszeit: 47565
Zykluszeit: 47614
Zykluszeit: 47614
Zykluszeit: 47565
Zykluszeit: 47614

Hier im For(;;)-Loop:
Zykluszeit: 260425
Zykluszeit: 260691
Zykluszeit: 260424
Zykluszeit: 260691
Zykluszeit: 260424
Zykluszeit: 260692
Zykluszeit: 260691

Ich habe dabei nicht die µ-Sekunden für einen Durchlauf gemessen, sondern eine Variable hochzählen lassen und jede Sekunde ausgegeben und zurückgesetzt. Ich wollte es auch nicht genau wissen, sondern nur einen ungefähren Überblick.

Hier mein Code zu nachvollziehen.

unsigned long counter = 0;

unsigned long previousMillis = 0;

void setup() {
Serial.begin(115200);

for (;;){

if(millis() – previousMillis >= 1000) {
// save the last time you blinked the LED

Serial.print(„Zykluszeit: „);
Serial.println(counter);

counter = 0;
previousMillis = millis();
}

counter ++;
}
}

void loop() {
}

 

Kommentar verfassen