之前见到过设置不同打印等级来调整打印的东西,感觉不错,想在单片机中也实现一下,这样一来找bug就会好很多,废话不多,直接上代码
-
#ifndef TEST_H_INCLUDED
-
#define TEST_H_INCLUDED
-
-
#define DEBUG_INFO
-
-
#ifdef DEBUG_ERROR
-
#define ERROR_DEBUG(info,...) printf(info, __VA_ARGS__)
-
#define WARN_DEBUG(info,...)
-
#define INFO_DEBUG(info,...)
-
#elif defined DEBUG_WARN
-
#define ERROR_DEBUG(info,...) printf(info, __VA_ARGS__)
-
#define WARN_DEBUG(info,...) printf(info, __VA_ARGS__)
-
#define INFO_DEBUG(info,...)
-
#elif defined DEBUG_INFO
-
#define ERROR_DEBUG(info,...) printf(info, __VA_ARGS__)
-
#define WARN_DEBUG(info,...) printf(info, __VA_ARGS__)
-
#define INFO_DEBUG(info,...) printf(info, __VA_ARGS__)
-
#else
-
-
#endif
-
-
#endif // TEST_H_INCLUDED
重点部分就是这个
#define INFO_DEBUG(info,...) printf(info, __VA_ARGS__)
测试一下效果
-
#include <stdio.h>
-
#include <stdlib.h>
-
#include "test.h"
-
-
int main()
-
{
-
char msg[] = "haha";
-
printf("Hello world!\n");
-
ERROR_DEBUG("error level %s\r\n",msg);
-
WARN_DEBUG("warn level %s\r\n",msg);
-
INFO_DEBUG("info level %s\r\n",msg);
-
return 0;
-
}
调整不同打印级别即可打印出不同的东西了,很简单
阅读(1411) | 评论(0) | 转发(0) |