我需要确定Arduino执行某个功能的速度。
最好的时间是什么?到目前为止,我发现了一个带有秒表类的东西,但我想知道是否有任何原生方法可以做到这一点。
答案 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)
最少侵入性的方法是在函数调用之前将端口引脚设置为高电平,然后将其设置为低电平。将示波器放在端口引脚上并测量高电平时间。
通过触发上升沿并观察下降沿的抖动,这也可以让您对执行时间的可变性有一个很好的定性思路。