资源下载

easylogger.zip这个是easylogger精简的版本(对于我来说),直接加入工程就可以。

配置打印函数

在上一节的 USB虚拟串口实现 中添加的printf,将;log的输出使用这个。

/**
 * output log port interface
 *
 * @param log output of log
 * @param size log size
 */
void elog_port_output(const char *log, size_t size) {
    /* add your code here */
    usb_printf("%.*s", size, log); //elog 的输出
}

如果是串口的重定向,只要将 usb_printf 替换成自己的就可以。

普通串口重定向:

#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE {
  HAL_UART_Transmit(&huart5, (uint8_t *) &ch, 1, HAL_MAX_DELAY);
  return ch;
}

初始化,使用log

#include "elog.h"


  /* USER CODE BEGIN 2 */
  easylogger_init();  // 初始化EasyLogger
  /* USER CODE END 2 */



  /* USER CODE BEGIN WHILE */

  while (1)
  {
    elog_info("main","Hello World!");
    HAL_Delay(1000);
    /* USER CODE END WHILE */

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

下载运行!!