【stm32】自定义log组件

一、概述

自定义log组件可以将头信息打印出来,方便调试定位。

二、代码

新建一个driver_dbg.h文件,复制下面的代码并保存。

#ifndef __DRIVER_DBG_H_
#define __DRIVER_DBG_H_

#include "main.h"

/* 自定义printf函数的开关 */
#define LOG_ENABLE            1

#if LOG_ENABLE

#ifndef DBG_SECTION
#define DBG_SECTION "[dbg_default]"
#endif

/* 显示文件名和行数和函数名,后接用户输入的内容 */
//#define log(fmt,args...)   printf("%s:%s:line-%d:",__FILE__,__func__,__LINE__);\
//                                   printf(fmt"\r\n" ,##args);printf("\n"); 
#define log(fmt,args...)   printf("%s",DBG_SECTION);printf(fmt"\r\n" ,##args);

/* 可以多列举几个自定义print函数,我这就列举一个 */


#else /* 如果没打开开关,MY_DEBUG 就不打印任何东西 */
#define log(fmt,args...)
#endif




#endif //__DRIVER_DBG_H_

三、用法

3.1 准备工作

在.c文件的开头定义DBG_SECTION并包含driver_dbg.h

#define DBG_SECTION "[drv_lowpower]"
#include "driver_dbg.h"

3.2 使用

log("enter stanby");

3.3 效果

所有调试信息都是带有头的。
在这里插入图片描述

Guess you like

Origin blog.csdn.net/weixin_43810563/article/details/119186047