我想在arduino中进行某种冗长的调试打印,可以通过标志启用/禁用。例如,我希望能够做类似
的事情#define VERBOSE
#define VERBOSE_PRINT(text) #ifdef VERBOSE Serial.println(text); #endif
稍后在代码中:
VERBOSE_PRINT("Doing something");
如果定义了VERBOSE,那么我应该通过串口获取东西,如果没有定义,则不会编译该代码。不幸的是,这不起作用。我收到错误:“错误:'#'后面没有宏参数”。所以我想知道什么是获得可选编译打印(或任何事情)的最佳方式。当然我可以手动写出#ifdefs,但我希望它简化,以便它不会占用很多空间,所以每次我都想用它时我都不必写出来。函数内的#ifdef函数是最好的方法吗?
答案 0 :(得分:0)
#define VERBOSE
#ifdef VERBOSE
#define VERBOSE_PRINT(str) Serial.println(str)
#else
#define VERBOSE_PRINT(str)
#endif
VERBOSE_PRINT("Doing something");