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

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

时间:2024-04-01 23:14:41浏览次数:25  
标签:触发 定时器 错过 嵌入式 开源 支持 按键 PRESS 日志

大家好,我是知微!

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

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

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

日志库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 会根据配置文件自动生成配置选项界面。开发者可以通过简单的操作来选择需要启用的功能组件和设置相关参数。

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

标签:触发,定时器,错过,嵌入式,开源,支持,按键,PRESS,日志
From: https://www.cnblogs.com/Wayne123/p/18109607

相关文章

  • 学习嵌入式的第三天
    学习嵌入式的第三天数据类型获取数据类型存储的大小sizeof运算符可计算出指定数据(变量,常量)的字节大小它的结果是size_t类型的数据(本质上就是unsignedint或unsingnedlong类型又系统和编译器决定),对应的占位符是%zu数据类型的转换数据类型的隐式转换整数自动......
  • ET8开源游戏:英雄传说(零)简介与总目录篇
    《英雄传说》是一个基于ET8.1的双端C#(Client-Unity3D,Server:.Net8)开发的在线联网多人竞技游戏。当前文章主要做此Demo的技术分解,主要是战斗系统跟状态同步的技术分享,大伙有想法的欢迎评论区讨论,后续会逐步迭代分享写完:(一)鲁班配置表方案集成与使用(二)YooAsset介绍与使用,加密(......
  • 开源压测项目
    项目git地址:https://gitee.com/smooth00/stressTestSystem搭建好之后,登录成功1.新建测试用例并上传jmeter脚本文件点击左侧“用例管理”,在右侧点击新增,创建一个测试用例;选中新建好的测试用例,点击上传文件,上传要执行的jmeter脚本文件和参数化文件(如没有参数化文件则不......
  • Dev Home — 免费开源的微软开发者工具
    DevHome—免费开源的微软开发者工具分类 开源分享项目名:DevHome--微软平台的一站式开发助手Github开源地址: GitHub-microsoft/devhome:ThenewDevHomeexperienceforWindows!官网地址: 开发人员主页(预览)-MicrosoftApps官方说明文档: 面向Windows......
  • 开源!首个无需相机位姿的通用3D Gaussian Splatting!
    作者:Hao Li等人|编辑:计算机视觉工坊添加小助理:dddvision,备注:3D目标检测,拉你入群。文末附行业细分群扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)、最新顶会论文、计算机视觉书籍、优质3D视觉算......
  • 嵌入式学习第五天
    switch结构if-else语句只能判断2个分支,若要判断多个分支则需要if-else的多次使用或嵌套使用,程序会变得很复杂,可读性差。switch是多分支选择语句。通过switch()的多分支判断可以简便地实现多分支选择结构switch()语句的一般形式如下:3)case后需要一个常量(或常量表达式)。首先判......
  • 全新客服系统源码 - 开源客服系统 - 工单系统接入
    客服系统可谓是一款经久不衰的产品,产生时期要追溯至曾经电视购物盛行的前夕,在电商大时代被各种身怀绝技的产品经理再一次的革新与发展。从最初简单的用户信息记录、工单跟踪,到后期的服务数据量化、沟通质量指标化、智慧应答,一步步在走向全机器智能客服的时代。将成型的客服系统......
  • 【全开源】抖音返利抖音联盟抖客小程序APP源码【首发】_博纳软云
    抖音返利抖音联盟抖客小程序APP源码——引领电商新潮流,实现购物返利新体验随着移动互联网的快速发展,电商行业也迎来了前所未有的变革。抖音作为短视频领域的佼佼者,不仅为用户提供了丰富的娱乐内容,还通过抖音返利、抖音联盟等创新模式,为用户带来了全新的购物体验。为了满足广......
  • 【全开源】上门送水小程序源码桶装水配送源码同城上门配送_博纳软云
    在繁忙的都市生活中,人们对于便捷与高效的需求日益增强。特别是在饮水安全与健康日益受到关注的今天,如何轻松获取到新鲜、纯净的桶装水,已成为众多家庭和企业关心的重要问题。幸运的是,随着科技的发展,上门送水小程序源码桶装水配送源码同城上门配送服务应运而生,为我们的生活带来了......
  • 【全开源】抖音返利抖音联盟抖客小程序APP源码【首发】_博纳软云
    抖音返利抖音联盟抖客小程序APP源码——引领电商新潮流,实现购物返利新体验随着移动互联网的快速发展,电商行业也迎来了前所未有的变革。抖音作为短视频领域的佼佼者,不仅为用户提供了丰富的娱乐内容,还通过抖音返利、抖音联盟等创新模式,为用户带来了全新的购物体验。为了满足广......