NeoPixel“显示”方法的持续时间不一致

时间:2019-11-24 16:08:27

标签: arduino arduino-uno neopixel

我已经为一个灯带编写了一些动画,并且想要测量我的处理需要多长时间。

unsigned long lastLoopTime = 0;
void loop() {
  auto startTime = micros();

[...strip compution...]

  auto endTime = micros();

  strip.show();

  auto finalTime = micros();
  auto processTime = endTime - startTime;
  auto transferTime = finalTime - endTime;
  auto loopTime = finalTime - lastLoopTime;
  lastLoopTime = finalTime;
  Serial.print(processTime);
  Serial.print("\t");
  Serial.print(transferTime);
  Serial.print("\t");
  Serial.println(loopTime);
}

这将导致这些图

  • blue =我的计算时间
  • red = strip.show()时间
  • green =总循环时间 plots

所以现在我很好奇。

  1. 为什么放映时间很少从1毫秒跳到2毫秒。
  2. 为什么循环时间比我的计算和显示时间加起来还要长?

0 个答案:

没有答案