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

分享几个非常不错嵌入式开源项目,一定不要错过

大家好,我是知微!

经常有小伙伴后台私信我:

  • 有没有好的开源项目推荐
  • 怎么样才能提升自己的编程能力

那么这篇文章就推荐几个还不错的开源项目,感兴趣的小伙伴可以学习一下!

日志库EasyLogger

https://github.com/armink/EasyLogger

开发一个项目,如果没有日志的记录,当遇到问题需要分析并解决的时候,就会变得比较棘手。

EasyLogger是一款超轻量级(ROM<1.6K, RAM<0.3K)、高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目。

主要特性

  • 支持用户自定义输出方式(例如:终端、文件、数据库、串口、485、Flash…);
  • 日志内容可包含级别、时间戳、线程信息、进程信息等;
  • 日志输出被设计为线程安全的方式,并支持 异步输出缓冲输出 模式;
  • 支持多种操作系统(RT-Thread、UCOS、Linux、Windows、Nuttx…),也支持裸机平台;
  • 日志支持 RAW格式 ,支持 hexdump
  • 支持按 标签级别关键词 进行动态过滤;
  • 各级别日志支持不同颜色显示;
  • 扩展性强,支持以插件形式扩展新功能。

多功能按键MultiButton

https://github.com/0x1abin/MultiButton

MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。

  • 它支持以下的按键事件
PRESS_DOWN按键按下,每次按下都触发
PRESS_UP按键弹起,每次松开都触发
PRESS_REPEAT重复按下触发,变量repeat计数连击次数
SINGLE_CLICK单击按键事件
DOUBLE_CLICK双击按键事件
LONG_PRESS_START达到长按时间阈值时触发一次
LONG_PRESS_HOLD长按期间一直触发

软件定时器模块MultiTimer

https://github.com/0x1abin/MultiTimer

MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。

在使用的时候,下面几个事项,需要注意一下

  1. 定时器的时钟频率直接影响定时器的精确度,尽可能采用1ms/5ms/10ms这几个精度较高的tick;

  2. 定时器的回调函数内不应执行耗时操作,否则可能因占用过长的时间,导致其他定时器无法正常超时;

  3. 由于定时器的回调函数是在 MultiTimerYield 内执行的,需要注意栈空间的使用不能过大,否则可能会导致栈溢出。

轻量级系统框架mr-library

https://github.com/Mac-Rsh/mr-library

MR 框架是专为嵌入式系统设计的轻量级框架。充分考虑了嵌入式系统在资源和性能方面的需求。 通过提供标准化的设备管理接口,极大简化了嵌入式应用开发的难度,帮助开发者快速构建嵌入式应用程序

MR 提供 Kconfig 可视化配置工具,开发者无需深入了解源代码即可进行配置。

Kconfig 会根据配置文件自动生成配置选项界面。开发者可以通过简单的操作来选择需要启用的功能组件和设置相关参数。

暂时就分享这么多了,小伙伴们也不要心急贪多。要想真正学会一件事情,一定需要动手实践,赶紧行动起来吧!

📢欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,非常感谢!

http://www.lryc.cn/news/329791.html

相关文章:

  • Golang基础-4
  • 2024软件设计师备考讲义——UML(统一建模语言)
  • HTML——1.简介、基础、元素
  • Rust 标准库:std::env::args() 函数简介
  • 【Blockchain】GameFi | NFT
  • 【Docker】搭建安全可控的自定义通知推送服务 - Bark
  • 国内IP代理软件电脑版:深入解析与应用指南
  • 面向对象设计之开闭原则
  • 【项目技术介绍篇】若依项目代码文件结构介绍
  • 实现DevOps需要什么?
  • Linux小程序: 手写自己的shell
  • javaSwing租户管理系统
  • cesium实现竖立的圆
  • 汽车电子行业知识:智能汽车电子架构
  • LeetCode146:LRU缓存
  • 【Unity音游制作】你玩过节奏大师吗?(Koreographe插件导入游戏主体)【一】
  • 高效解决Ubuntu Server 18.04.1 LTS 64bit更新gdb8.1.1到gdb12.1
  • 【公示】2023年度青岛市级科技企业孵化器拟认定名单
  • 【软件安装】(十四)Ubuntu22.04安装Psensor硬件监视器
  • 数组合并小程序
  • python练习二
  • 专升本-数字媒体
  • 蓝桥杯算法题-发现环
  • Oracle存数字精度问题number、binary_double、binary_float类型
  • Java封装最佳实践:打造高内聚、低耦合的优雅代码~
  • 开源,微信小程序-超级计算器T3000 简介
  • Dimitra:基于区块链、AI 等前沿技术重塑传统农业
  • 降低项目延期概率的5大注意事项
  • 在VUE页面调用Extjs中定义的方法
  • 【独立开发前线】Vol.32 能够坚持下去的人并没有你想象的那么多