RTT协议源码
在调用的.c文件中应用console.h,然后通过console_infor、console_debug、console_warn、console_error等宏函数输出调试信息。
#ifndef __CONSOLE_H__
#define __CONSOLE_H__
#include "SEGGER_RTT.h"
#define DDL_LOG_NODE 5
#define DDL_LOG_INFOR 4
#define DDL_LOG_DEBUG 3
#define DDL_LOG_WARM 2
#define DDL_LOG_ERROR 1
#define LOG_LEVEL DDL_LOG_INFOR
#define console_infor(arg...) if(LOG_LEVEL>=DDL_LOG_INFOR)do{SEGGER_RTT_printf(0, "<INFOR><%s><%u>: ", __FUNCTION__, __LINE__);SEGGER_RTT_printf(0, arg);}while(0)
#define console_debug(arg...) if(LOG_LEVEL>=DDL_LOG_DEBUG)do{SEGGER_RTT_printf(0, "<DEBUG><%s><%u>: ", __FUNCTION__, __LINE__);SEGGER_RTT_printf(0, arg);}while(0)
#define console_warm(arg...) if(LOG_LEVEL>=DDL_LOG_WARM)do{SEGGER_RTT_printf(0, "< WARM><%s><%u>: ", __FUNCTION__, __LINE__);SEGGER_RTT_printf(0, arg);}while(0)
#define console_error(arg...) if(LOG_LEVEL>=DDL_LOG_ERROR)do{SEGGER_RTT_printf(0, "<ERROR><%s><%u>: ", __FUNCTION__, __LINE__);SEGGER_RTT_printf(0, arg);}while(0)
#define console_init() SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL)
#endif