mcu调试之日志格式化输出的一种方法

简介

在日后的维护过程中也是很宝贵的东西,怎么能说删除就删除呢,这里提供日志格式化输出的一种方式,主要用于平时调试。那些调试信息是那么的宝贵,

代码示例

#include <stdio.h>
#include <stdint.h>

#define  DEBUG_ENABLE       //enable debug setting

#ifdef DEBUG_ENABLE
#define    BSP_Printf        printf
#else
#define    BSP_Printf(...)
#endif

void print_hex_as_string(char *pHead, uint8_t *pHEX, uint16_t len)
{
	uint16_t i=0;

	BSP_Printf("\r\n%s[%u]\r\n",pHead,len);
	for(i=0;i<len;i++)
	{
	    BSP_Printf("%.2X ",pHEX[i]);
		if((i&0x000f) == 0x000f)
		{
			 BSP_Printf("\r\n");
		}
	}
    BSP_Printf("\r\n");
}


int main()
{
    uint8_t data[] = {0x01,0x02,0x03};
    print_hex_as_string("Hex:", data, 3);
    return 0;
}

定位文件、函数、行、格式化输出

#define SYSTEMDebug

#ifdef SYSTEMDebug
#define SystemDebug(fmt,...) printf("%s:%s:%05d>>>>"fmt"",__FILE__,__func__,__LINE__,##__VA_ARGS__)
#else
#define SystemDebug(fmt,...) 
#endif

使用示例

int main()
{
    SystemDebug("HELLO=%d\n", 123);

	return 0;
}

输出如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路过的小熊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值