Arduino:比Serial.print()更好的监控变量的方法?

时间:2015-07-08 05:21:07

标签: arduino

当我测试我的代码时,我暂时添加了Serial.print消息,以查看我的代码的作用。这非常繁琐,因为在Arduino世界中没有printf()这样的东西。另外,有时我忘记删除Serial.print(),我必须稍后在我的代码中搜索它们以删除它们。如果我将Serial.print()放入循环中,输出将滚动得如此之快,以至于我无法真正跟踪值的变化情况。然后我需要delay(),这是稍后要删除的另一段测试代码。 是否有任何库或工具可以使这项任务更容易?

2 个答案:

答案 0 :(得分:1)

如果你有Visual Studio,你可以使用VisualMicro进行真正的调试,包括断点和值监控: http://www.visualmicro.com/page/Debugging-for-Arduino.aspx

它适用于Visual Studio的社区版(免费): http://www.visualstudio.com/products/visual-studio-community-vs

我已经使用了很多VisualMicro,它可以节省时间,因为你可以专注于调试而不是添加日志调用。

答案 1 :(得分:1)

您可以使用经过验证的条件编译方法,例如:

#ifdef DEBUGGING
    Serial.print (something);
    Serial.print (somethingElse);
    delay (1000);
#endif

然后,编译设置了DEBUGGING标志的测试代码,同时将其保留在生产代码中。

这样,您不需要从源代码中删除调试代码,编译器本身会自动删除它。