簡體   English   中英

如何測量Arduino函數執行的速度?

[英]How to measure the speed of an Arduino function's execution?

我需要確定Arduino執行某些功能的速度。

這樣做的最佳時間是什么? 到目前為止,我發現了Stopwatch類,但是我想知道是否有任何本機方法可以做到這一點。

一種簡單的方法是在Arduino庫中使用millis()micros()函數。 使用micros()可以得到更好的顆粒結果。

例如:

unsigned long start = micros();
// Call to your function
myFunction();
// Compute the time it took
unsigned long end = micros();
unsigned long delta = end - start;
Serial.println(delta);

仔細閱讀micros()的文檔:有關時間分辨率的一些信息。

最小的侵入方式是在函數調用之前將端口引腳設置為高電平,然后在其后設置為低電平。 將示波器放在端口引腳上並測量高電平時間。

通過在上升沿觸發並在下降沿觀察抖動,這也可以使您對執行時間的變化有很好的定性認識。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM