arduino中的详细调试打印?

时间:2013-09-23 23:51:04

标签: debugging arduino preprocessor

我想在arduino中进行某种冗长的调试打印,可以通过标志启用/禁用。例如,我希望能够做类似

的事情
#define VERBOSE
#define VERBOSE_PRINT(text) #ifdef VERBOSE Serial.println(text); #endif

稍后在代码中:

VERBOSE_PRINT("Doing something");

如果定义了VERBOSE,那么我应该通过串口获取东西,如果没有定义,则不会编译该代码。不幸的是,这不起作用。我收到错误:“错误:'#'后面没有宏参数”。所以我想知道什么是获得可选编译打印(或任何事情)的最佳方式。当然我可以手动写出#ifdefs,但我希望它简化,以便它不会占用很多空间,所以每次我都想用它时我都不必写出来。函数内的#ifdef函数是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

#define VERBOSE

#ifdef VERBOSE
#define VERBOSE_PRINT(str) Serial.println(str)
#else
#define VERBOSE_PRINT(str)
#endif

VERBOSE_PRINT("Doing something");