宏定义方便输出调试信息的一种方法
0赞
发表于 3/5/2017 11:01:41 PM
阅读(1332)
在开发MCU程序时,为了调试方便,经常需要使用串口输出一些调试信息,当调试结束后,需要将这些调试信息去掉。
最近学习了一种感觉是比较好的方法,使用#define宏定义方便添加和删除调试信息的方法,自己根据情况稍作了改动。
并在恩智浦的KSDK库中进行测试。
在程序中添加如下代码
#if __DEBUG__
#define DEBUG(format,...) PRINTF("FILE: "__FILE__" ,LINE: %05d, "format"\r\n", __LINE__, ##__VA_ARGS__)
#else
#define DEBUG(format,...)
#endif
只需要在程序中书写一个宏定义
#define __DEBUGE__ n
其中n取0时,禁止输出调试信息,n取其它值(比如1)时,可以输出调试信息。
而且输出调试信息时,同时可以输出该信息是那个程序文件的第几行数据输出。
测试程序如下。
当关闭调试信息输出如下。
当打开调试信息输出如下。
具体含义非常简单,这里就不过多介绍。
当然也可用如下方法,效果一样: