单片机简单Log日志封装

 1、创建log.c文件


#include "log.h"

 2、创建log.h文件

#ifndef __LOG_H_
#define __LOG_H_

#include "stm32l0xx_hal.h"
#include "usart.h"
#include "stdio.h"
#include "string.h"

#define USEA_MAIN_DEBUG		

#ifdef USEA_MAIN_DEBUG
#define Log_printf(format, ...)     printf( format "\r\n", ##__VA_ARGS__)
#define Log_info(format, ...) 	    printf( "[%s Line:%d] INFO: "format"\r\n", __FILE__, __LINE__, ##__VA_ARGS__)
#define Log_debug(format, ...) 	    printf( "[%s Line:%d] DEBUG: "format"\r\n", __FILE__, __LINE__, ##__VA_ARGS__)
#define Log_error(format, ...) 	    printf( "[%s Line:%d] ERROR: "format"\r\n", __FILE__, __LINE__, ##__VA_ARGS__)
#define Log_warn(format, ...) 	    printf( "[%s Line:%d] WARN:  "format"\r\n", __FILE__, __LINE__, ##__VA_ARGS__)
#define Log_verbose(format, ...)    printf( "[%s Line:%d] VERBOSE: "format"\r\n", __FILE__, __LINE__, ##__VA_ARGS__)

#else

#define Log_printf(format, ...)
#define Log_info(format, ...)
#define Log_debug(format, ...)
#define Log_error(format, ...)
#define Log_warn(format, ...)
#define Log_verbose(format, ...)

#endif


#endif

在main.c文件中填写如下代码即可。

/* USER CODE BEGIN Includes */
#include "log.h"
/* USER CODE END Includes */


/* USER CODE BEGIN WHILE */
  while (1)
  {
		Log_info("heihei");
		HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
/* USER CODE END 3 */


/* USER CODE BEGIN 4 */

int fputc(int ch, FILE *f)
{
	HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 1000);	
	return (ch);
}

/* USER CODE END 4 */

打印结果:

发布了41 篇原创文章 · 获赞 63 · 访问量 57万+

猜你喜欢

转载自blog.csdn.net/qq_36075612/article/details/104163774
今日推荐