Wie misst man die Geschwindigkeit der Ausführung einer Arduino-Funktion?

8

Ich muss die Geschwindigkeit bestimmen, mit der Arduino eine bestimmte Funktion ausführt.

Was wäre die beste Zeit dafür? Bisher habe ich etwas mit einer Stoppuhr-Klasse gefunden, aber ich frage mich, ob es eine native Methode dafür gibt.

    
Eugen 26.04.2012, 10:47
quelle

2 Antworten

15

Ein direkter Weg besteht darin, die Funktion millis() oder micros() in der Arduino-Bibliothek zu verwenden. Mit micros() erhalten Sie ein feinkörnigeres Ergebnis.

Zum Beispiel:

%Vor%

Lesen Sie sorgfältig die Dokumentation von micros() : Es gibt einige Informationen über die Zeitauflösung.

    
Vincent Hiribarren 26.04.2012, 11:39
quelle
7

Am wenigsten aufdringlich ist es, einen Port-Pin vor dem Funktionsaufruf hoch und danach niedrig zu setzen. Setzen Sie ein Oszilloskop auf den Port-Pin und messen Sie die High-Time.

Dies kann Ihnen auch eine gute qualitative Vorstellung von der Variabilität der Ausführungszeit geben, indem Sie auf die steigende Flanke triggern und den Jitter an der fallenden Flanke beobachten.

    
Martin Thompson 26.04.2012 15:14
quelle