经常在公众号这个菜单互动的小伙伴可能知道,最近我在这里偷偷加了一个开源项目的专栏,这个专栏主要是持续收集一些嵌入式方面的开源项目,当然也包括我自己开源的,目前已经更新了19个项目。
1 一个好用的量产集成测试工具
分享一个刚毕业的时候写的一个量产测试工具吧,采用的是C语言来编写,刚开始应用在Linux和Android平台上,后面通过移植也用在单片机上,使用起来也非常简单。
2 基于C标准库实现的键值对读写工具
ini 文件是Initialization File的缩写,即初始化文件,这是用来配置应用软件以实现不同用户的要求。
INI文件由节、键、值组成。一个简单的的INI文件例子如下:
[Setting] INIT_FLAG=0; VOLUME=1; LANGUAGE=1;
基于小熊派SD卡+Fatfs+移植开源iniparse解析库并使用
3 两个好用的按键组件
在嵌入式系统或单片机程序开发过程中,经常会遇到各种按键的需求,比如按键短按、按键长按、按键双击,这些功能虽然不难,但想要完全写好这些功能并不简单。网上已经有大神实现了这样的组件,该组件的特性如下:
- 使用时系统不阻塞
- 低耦合性
- 同一个按键可实现单击、双击、长按
- 可根据按键线序更改,比如高电平触发或低电平触发
第1期 | MultiButton,一个小巧简单易用的事件驱动型按键驱动模块
个人使用案例实现:
开源按键组件MultiButton支持菜单操作(事件驱动型)
4 两个好用且优雅的软件定时器框架
在一些项目里,我们要使用的定时器资源很多,假设硬件资源有限,那也不用愁,接下来将要介绍的是一个开源软件模块:MultiTimer
MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。
还有一个轻量级的软件定时器SmartTimer
SmartTimer是一个轻量级的基于STM32的定时器调度器,在单片机裸跑的情况下,可以很方便的实现异步编程。
个人使用案例实现:
超轻量级网红软件定时器multi_timer(51+stm32双平台实战)
基于小熊派光强传感器BH1750实践(multi_timer+状态机工程应用)
基于小熊派光强传感器BH1750状态机驱动项目升级(带LCD屏显示)
基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩
5 一个好用的SPI FLASH开源项目SFUD
SFUD 全称 Serial Flash Universal Driver,是一款开源的串行 SPI Flash 通用驱动库。
SFUD | 一个简洁实用的开源项目,帮你轻松搞定SPI Flash
6【开源】省资源、高稳定的MQTT客户端
这一个基于socket API之上的跨平台MQTT客户端,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。
7 超牛逼的高度可移植的菜单架构
今天给大家推荐一个非常不错的菜单架构,好朋友宋工写的,他把他认为最能拿得出手的东西贡献了出来,是一个挺不错的菜单架构,大家拿到源码,可以自己学习借鉴下。
8 替代传统的打印调试printf
介绍另一种打印调试的方法——SEGGER 的RTT 。RTT全称是Real Time Transmit(实时传输),是Segger公司推出的,是配合J-link使用的一种调试手段。
9 专为MCU项目开发提速的代码框架Baby OS
BabyOS适用于MCU项目,是一套管理功能模块和外设驱动的框架。
对项目而言,缩短开发周期。项目开发时选择适用的功能模块及驱动。直接进入功能代码编写的阶段。
对工程师而言,减少重复工作。调试过的功能模块和驱动代码放入BabyOS中进行管理,以后项目可以直接使用,去掉重复调试的工作。
10 开源代码格式化工具Astyle
Astyle全称Artistic Style,是一个免费,快速,小型的自动格式化程序,适用于C,C++,C++/CLI,Objective‑C,C#和Java源代码。
分享一个在Keil开发环境中配置代码格式化工具Astyle(美化代码风格)
11 无线点菜宝
这是一款过时的,用STM32开发的一款手持类产品,虽然产品过时,但是技术并不过时,值得学习,目前产品已经断货了,但硬件和软件都开源。
12 常用的C语言经典测试学习案例
平时大家学习的一些C语言测试案例。
13 一个超轻量级的JSON解析器
众所周知,JSON是一种轻量级的数据格式,应用广泛。在C/C++应用中也常常作为配置文件或者数据的存储,因此JSON文件的生成和解析是必备知识。
14 GitHub嵌入式高星开源项目
关于GitHub,可能很多人误以为这是互联网人的专属,其实并不是,那上面嵌入式相关的开源项目是有很多的。现分享一些高星开源项目(像RT-Thread、AWTK等大家都熟知的就不介绍了):
15 STM32F103产品级开源项目:iLook.Time
- 2013年开始设计iTrack+yeelink,由于各种原因,该项目夭折。
- 2014年年初开始提出面向产品的开源平台:iLook
- 2015年5月发起iLook.爱路客
- 2015年8月发起iLook.Time并开源
STM32F103产品级开源项目:iLook.Time设计解读
16 深圳云之手科技开源炫酷RGB灯板DIY项目
本文的RGB灯板是采用WS2812B的全彩灯,源码是采用SPI+DMA的方式驱动全彩灯,灯板要求的时序比较高,是微秒级别,本文所有延时均采用定时器处理,采用了合泰和STM32的MCU,目前本文选用的是STM32的STM32F103CBT6进行编写的处理,本项目纯属于娱乐时间开发的,最终展示效果:
17 华大开源火爆全网的额温枪方案(硬件+源码)
在疫情期间,涌现了不少为抗疫做贡献的企业,华大半导体有限公司就是其中一家,在国内额温枪紧缺的情况下,华大半导体就将自研的抗疫方案额温枪自主芯片、自主软、硬件,多热电堆匹配算法等额温枪方案资料开源共享,助力国内相关企业用开源的额温枪方案快速做出产品助力国内抗疫。现在,我们具体来看看开源了哪些东西:
火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门
18 云之手红外式测温计产品设计分享(基于合泰BH67F2752方案)
这次介绍的是深圳市云之手科技有限公司的测温产品,出自陈工之手,这也是他个人目前开源的第二个项目,也是个非常成功的项目,产品已经实现大批量产。
云之手红外式测温计产品设计分享(基于合泰BH67F2752方案)
19 WIFI DTU产品设计与实现(基于STM32F103+QT配置上位机案例设计分享)
使用 WIFI 模组,完成 DTU 的功能,就叫做 WIFI DTU,WIFI DTU 的实现难点在于配网以及后期多端口及多种协议和端口的适配。
WIFI DTU产品设计与实现(基于STM32F103+QT配置上位机案例设计分享)
我将会一直汇总下去,敬请期待!