Wie misst man die Geschwindigkeit eines Arduino-Funktion Ausführung?
Muss ich feststellen, die Geschwindigkeit, mit der Arduino führt eine bestimmte Funktion.
Was wäre die beste Zeit, das zu tun? So weit ich etwas gefunden, mit einer Stoppuhr-Klasse, aber ich Frage mich, ob es gibt keine native Methode, das zu tun.
InformationsquelleAutor Eugen | 2012-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine einfache Möglichkeit ist die
millis()
odermicros()
Funktion in der Arduino-Bibliothek. Haben Sie eine feinere Körnung Ergebnis mitmicros()
.Zum Beispiel:
Lesen Sie sorgfältig die Dokumentation des
micros()
: es gibt einige Informationen über die zeitliche Auflösung.Dies scheint wie eine gute Idee, auf den ersten, aber es ist inhärent fehlerhaft, um zu versuchen, und beheben Sie den Fehler von einem timing-Funktion durch die zeitliche mit sich selbst.
Könnten Sie das näher erläutern ? Ich sehe nicht ein, warum der Aufruf 'micros' zweimal und Subtraktion der Ergebnisse, würde mir nicht die Zeit genommen, die von micros. wenn Sie rufen Sie diese, bevor Sie Ihre Funktion timing können Sie subtrahieren Sie zwei mal die 'micros' Dauer und erreichen damit ein präziseres timing der myFunction.
Eine Zeit, die 'micros' Dauer, sorry.
InformationsquelleAutor Vincent Hiribarren
die am wenigsten aufwendige Weg ist, legen Sie einen port-pin high vor dem Aufruf der Funktion und low danach. Setzen Sie ein Oszilloskop an den port-pin und Messen der high-time.
Dieser kann Ihnen auch eine gute qualitative Vorstellung von der Variabilität der Ausführungszeit durch die Triggerung auf die steigende Flanke und beobachtete den jitter auf die fallende Flanke.
InformationsquelleAutor Martin Thompson