我需要确定 Arduino 执行某个功能的速度。
这样做的最佳时间是什么时候?到目前为止,我发现了一个带有 Stopwatch 类的东西,但我想知道是否有任何本地方法可以做到这一点。
我需要确定 Arduino 执行某个功能的速度。
这样做的最佳时间是什么时候?到目前为止,我发现了一个带有 Stopwatch 类的东西,但我想知道是否有任何本地方法可以做到这一点。
一种直接的方法是使用 Arduino 库中的millis()
ormicros()
函数。您将获得更细粒度的结果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()
:有一些关于时间分辨率的信息。
最少干扰的方法是在函数调用之前将端口引脚设置为高电平,然后将其设置为低电平。将示波器放在端口引脚上并测量高电平时间。
通过在上升沿触发并观察下降沿的抖动,这也可以让您对执行时间的可变性有一个很好的定性了解。