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 */
打印结果: