2021年618京享红包 - 618大促主会场
九阳 Joyoung电磁炉 电陶炉 2200W大功率 家用火锅套装 旋转控温 红外光波加热 H22-x3 赠烤盘
凯迪仕电子锁618狂欢购
有健康 更热爱
美丽雅品牌会员周

单片机简单Log日志封装

繁华的梦境 1年前   阅读数 56 0

 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万+

注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: