/* * @Author: xmprocat * @Date: 2023-03-20 20:26:22 * @LastEditors: xmprocat * @LastEditTime: 2023-03-20 20:26:42 * @Description: */ /* * @说明 * @ 使用前确认J-link 版本号 该版本 V7.69b * @ //重定义fputc函数 已在 RTT_printf 中重定向 可使用 int fputc(int ch, FILE *f) { SEGGER_RTT_PutChar(0, ch); return ch; } * @ 当前头文件已封装 #include "CAT_LOG.h" * @以下为可用打印例程 * mian初始化调用 SEGGER_RTT_Init();//初始化时调用 *main添加添加头文件 *SEGGER_RTT_SetTerminal(1);该函数可选择打印jlink号码页; */ //可重定向printf打印 // printf("RTT test 0!\r\n"); // //例程 未再次封装使用 //SEGGER_RTT_printf(0,RTT_CTRL_TEXT_RED"%02X %D\r\n",value,data); ////再次封装使用 //LOGI("RTT test 0!\r\n");//绿色 //其他颜色及内容可根据下方内容增加修改; #ifndef _CAT_LOG_H_ #define _CAT_LOG_H_ #include "SEGGER_RTT.h" #define LOG_DEBUG 1 #if LOG_DEBUG #define LOG_PROTO(type,color,format,...) \ SEGGER_RTT_printf(0," %s%s"format" %s", \ color, \ type, \ ##__VA_ARGS__, \ RTT_CTRL_RESET) /* 清屏*/ #define LOG_CLEAR() SEGGER_RTT_WriteString(0, " "RTT_CTRL_CLEAR) /* 无颜色日志输出 */ #define LOG(format,...) LOG_PROTO("","",format,##__VA_ARGS__) /* 有颜色格式日志输出 */ #define LOGG(format,...) LOG_PROTO("", RTT_CTRL_TEXT_BRIGHT_GREEN , format, ##__VA_ARGS__) #define LOGY(format,...) LOG_PROTO("", RTT_CTRL_TEXT_BRIGHT_YELLOW, format, ##__VA_ARGS__) #define LOGR(format,...) LOG_PROTO("", RTT_CTRL_TEXT_BRIGHT_RED , format, ##__VA_ARGS__) #define LOGB(format,...) LOG_PROTO("", RTT_CTRL_TEXT_BRIGHT_BLUE , format, ##__VA_ARGS__) #define LOGM(format,...) LOG_PROTO("", RTT_CTRL_TEXT_BRIGHT_MAGENTA , format, ##__VA_ARGS__) #define LOGC(format,...) LOG_PROTO("", RTT_CTRL_TEXT_BRIGHT_CYAN , format, ##__VA_ARGS__) #else #define LOG_CLEAR() #define LOG #define LOGI #define LOGW #define LOGE #endif #endif // !_LOG_H_