【发布时间】:2012-05-07 02:15:24
【问题描述】:
我需要确定 Arduino 执行某个功能的速度。
什么是最好的时间?到目前为止,我发现了一个带有 Stopwatch 类的东西,但我想知道是否有任何本地方法可以做到这一点。
【问题讨论】:
标签: c++ time arduino measurement stopwatch
我需要确定 Arduino 执行某个功能的速度。
什么是最好的时间?到目前为止,我发现了一个带有 Stopwatch 类的东西,但我想知道是否有任何本地方法可以做到这一点。
【问题讨论】:
标签: c++ time arduino measurement stopwatch
一种直接的方法是使用 Arduino 库中的 @987654321@ 或 @987654322@ 函数。使用@987654323@,您将获得更精细的结果。
例如:
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);
仔细阅读@987654324@的文档:有一些关于时间分辨率的信息。
【讨论】:
干扰最小的方法是在函数调用之前将端口引脚设置为高电平,然后将其设置为低电平。将示波器放在端口引脚上,测量高电平时间。
这还可以通过在上升沿触发并观察下降沿的抖动,让您对执行时间的可变性有一个很好的定性了解。
【讨论】: