如何衡量Arduino函数的执行速度?

时间:2012-04-26 10:47:43

标签: c++ time arduino measurement stopwatch

我需要确定Arduino执行某个功能的速度。

最好的时间是什么?到目前为止,我发现了一个带有秒表类的东西,但我想知道是否有任何原生方法可以做到这一点。

2 个答案:

答案 0 :(得分:16)

直接的方法是使用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()的文档:有一些关于时间分辨率的信息。

答案 1 :(得分:9)

最少侵入性的方法是在函数调用之前将端口引脚设置为高电平,然后将其设置为低电平。将示波器放在端口引脚上并测量高电平时间。

通过触发上升沿并观察下降沿的抖动,这也可以让您对执行时间的可变性有一个很好的定性思路。