Hallo,
vielleicht hilft es Dir ja...
//**************************************** Laufzeit feststellen ********************************
/**************************************************
** GuntherB **
** Funktion um die Loopaufrufzeiten zu ermitteln **
** wird in der Loop aufgerufen **
** benötigt ca (AL * 4 + 10 )Byte RAM **
***************************************************/
void LoopTiming(){
const unsigned int AL = 100; // Arraylänge
static unsigned long Timestamp[AL];
static unsigned int Nr = 0, Min=0xFFFF, Max, Avg = 0;
Timestamp[Nr++]=millis();
if (Nr >= AL){ // Array voll, Daten auswerten
for (unsigned int i = 1; i<AL; i++){
Max = max(Max, Timestamp[i]-Timestamp[i-1]);
Min = min(Min, Timestamp[i]-Timestamp[i-1]);
Avg += Timestamp[i]-Timestamp[i-1];
}
Avg = Avg / (AL-1);
Serial.println(F("Loop wird aufgerufen "));
Serial.print(F("Durchschnitt "));Serial.print(Avg);Serial.println("ms");
Serial.print(F("minimal "));Serial.print(Min);Serial.println("ms");
Serial.print(F("maximal "));Serial.print(Max);Serial.println("ms");
Min = 0xFFFF;
Max = 0;
Avg = 0;
Nr = 0;
}
}
//**************************************** Laufzeit feststellen Ende ********************************
Gruß und Spaß
Andreas