当前位置: 首页 > news >正文

stm32移植elog

elog下载

https://github.com/armink/EasyLogger

elog移植

image-20250924140511454

将项目中的以上文件加入项目中。其中

image-20250924141031270

在elog_cfg.h中注释掉部分不需要的。

//#define ELOG_COLOR_ENABLE
//#define ELOG_ASYNC_OUTPUT_ENABLE
//#define ELOG_BUF_OUTPUT_ENABLE

完善elog_port.c中的函数

ElogErrCode elog_port_init(void) {ElogErrCode result = ELOG_NO_ERR;/* add your code here */return result;
}
void elog_port_deinit(void) {/* add your code here */}
void elog_port_output(const char *log, size_t size) {/* add your code here */USART1_SendData((uint8_t *)log, (uint32_t)size, 200);
}
void elog_port_output_lock(void) {/* add your code here */__disable_irq();
}
void elog_port_output_unlock(void) {/* add your code here */__enable_irq();
}
const char *elog_port_get_time(void) {/* add your code here */return "10:08:12";
}
const char *elog_port_get_p_info(void) {/* add your code here */return "";
}
const char *elog_port_get_t_info(void) {/* add your code here */return "";
}

在elog.c文件中,将对应的告警完善一下

static const char *level_output_info[] = {[ELOG_LVL_ASSERT]  = "ASSERT /",[ELOG_LVL_ERROR]   = "ERROR  /",[ELOG_LVL_WARN]    = "WARN   /",[ELOG_LVL_INFO]    = "INFO   /",[ELOG_LVL_DEBUG]   = "DEBUG  /",[ELOG_LVL_VERBOSE] = "VERBOSE/",
};

使用elog

对elog进行初始化

void ELOG_UserInit(void)
{/* initialize EasyLogger */elog_init();/* set EasyLogger log format */elog_set_fmt(ELOG_LVL_ASSERT, ELOG_FMT_ALL & ~(ELOG_FMT_FUNC | ELOG_FMT_T_INFO | ELOG_FMT_P_INFO));elog_set_fmt(ELOG_LVL_ERROR, ELOG_FMT_ALL & ~(ELOG_FMT_FUNC | ELOG_FMT_T_INFO | ELOG_FMT_P_INFO));elog_set_fmt(ELOG_LVL_WARN, ELOG_FMT_ALL & ~(ELOG_FMT_FUNC | ELOG_FMT_T_INFO | ELOG_FMT_P_INFO));elog_set_fmt(ELOG_LVL_INFO, ELOG_FMT_ALL & ~(ELOG_FMT_FUNC | ELOG_FMT_T_INFO | ELOG_FMT_P_INFO));elog_set_fmt(ELOG_LVL_DEBUG, ELOG_FMT_ALL & ~(ELOG_FMT_FUNC | ELOG_FMT_T_INFO | ELOG_FMT_P_INFO));elog_set_fmt(ELOG_LVL_VERBOSE, ELOG_FMT_ALL & ~(ELOG_FMT_FUNC | ELOG_FMT_T_INFO | ELOG_FMT_P_INFO));/* start EasyLogger */elog_start();
}void test_elog(void) {/* test log output for all level */log_a("Hello EasyLogger!");log_e("Hello EasyLogger!");log_w("Hello EasyLogger!");log_i("Hello EasyLogger!");log_d("Hello EasyLogger!");log_v("Hello EasyLogger!");elog_raw("Hello EasyLogger!\n");
}
http://www.dtcms.com/a/403931.html

相关文章:

  • 揭阳市网站建设徐州市建设局网站
  • 讯飞起点阅读器京东式开售,后kindle时代机会在哪里?
  • 2018/07 JLPT听力原文 问题四
  • 旅游网站开发说明书网站建设费用应按几年摊销
  • Redis数据持久化
  • wampserver搭建网站鹤山区网站建设
  • 河南省建设厅网站考试成绩查询东莞人才网求职
  • 【数据结构前置知识】泛型
  • Flink SourceOperator和WaterMark
  • 容器化 Djiango 应用程序
  • 营销网站建设企划案例网站建设业务越做越累
  • Java EE、Java SE 和 Spring Boot
  • 两学一做专题网站wordpress 用户密码的加密算法
  • 手写数据结构-- avl树
  • MySQL-事务日志
  • SpringBoot旅游管理系统
  • 永州市城乡建设规划局网站湖南大型网站建设公司
  • 买东西网站有哪些汽车设计公司排名前十强
  • IT 疑难杂症诊疗室:破解常见故障的实战指南​
  • 集团网站建设详细策划广告设计与制作模板
  • OSError: [WinError 182] 操作系统无法运行 %1。 解决办法
  • 部门网站建设的工作领导小组局域网建设简单的影视网站
  • 嵌入式学习(45)-基于STM32F407Hal库的Modbus Slave从机程序
  • 【字符串算法集合】KMP EXKMP Manacher Trie 树 AC 自动机
  • 网站是哪家公司开发的中山网站建设文化价位
  • 织梦网站如何备份教程企业网站建设公司网络
  • 杭州的网站建设公司4s店网站建设方案
  • 如果在自己电脑上运行,没有问题。但是移植到工控机,有问题
  • 网站建设计划方案中国著名的个人网站
  • 漫谈<爬虫与反爬的斗争>之反爬技术全景综述