alog
brief 功能介绍:
alog是一个非常精简的串口输出日志组件,
类似easyloger,但是比easyloger更简单易用,
只有2个实际不到百行的文件,实现了基本日志所需的全部功能。
需移植配置的接口选项少,实现了串口输出字符串就可以用了,没有C库以外的其他依赖。
没有存储日志相关的扩展的API,适合新手使用理解和在资源紧张的单片机上移植使用
特色
- 支持可裁剪的格式输出功能
- 预留互斥锁的调用宏定义
- 支持自定义log过滤的等级
- 支持显示报错所在文件和行数
- 预留RTC功能的宏定义支持输出报错和警告的rtc时间
注意!!!
推荐在支持颜色码的串口终端查看输出的日志,否则普通串口助手收到的颜色码可能就是乱码
例如:mobaxterm 、xshell 等
源码结构
@version 当前版本:0.1
+—doc 文档
+—example 例子
| —port 移植好的例程
| +—ATK_stm32F407_HAL_example_5_uart 正点原子F407HAL库串口例程
| |
| +—ATK_stm32F407_RES_example_5_uart 正点原子F407寄存器串口例程
| |
| +—ATK_stm32F407_STD_example_4_uart 正点原子F407标准库串口例程
| |
| —PY32F002A_uart
+—inc 头文件
| alog.h
—src 源文件
alog.c
移植教程
可参考已经移植好的工程
和源码对配置项的解释
来移植到你使用的单片机平台
步骤就是
- 首先把alog.h加入头文件路径目录
- 然后把alog.c加入工程
- 把alog.h注释掉的的宏定义//#deine LOG_PORT_UART_INIT
换为#deine LOG_PORT_UART_INIT (你实现的对应的串口初始化函数)
- 把alog.h注释掉的的宏定义//#deine LOG_PORT_UART_PUTS
换为#deine LOG_PORT_UART_PUTS (你实现的对应的串口输出字符串的puts函数)
其他功能,例如互斥锁和RTC时间戳功能,可选择性实现。
如果你对互斥锁没有概念,那么只需保证在裸机下让日志阻塞输出,既不在中断中直接输出即可。
如果你已经会用rtc功能,那么使用sprintf来实现一个返回rtc时间戳字符串的函数替换alog.h的#define LOG_RTC_STRING即可
开源地址
GLPv2开源协议
gitee开源地址:https://gitee.com/nikolan/alog.git
author 作者: ageek_nikola
邮箱:(2503865771@qq.com)
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容