一个集RTOS、GUI、蓝牙、电源管理等一体的嵌入式软硬件开源项目

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

该项目是一个基于CW32单片机开发的软硬件开源项目,包括RTOS、GUI、蓝牙和电源管理等功能。该项目具有电压测量、通断测量、二极管测量、PWM输出、PWM输入、直流输出等功能。电路设计分为模拟前端、电源与电池管理、单片机及外设、显示屏、用户控制五个部分。软件代码和调试包括GUI、FreeRTOS和USER等。该项目开源,使用CW32国产单片机作为主控。

🔎

延伸解读

模块化设计降低复刻门槛

文章将电路划分为模拟前端、电源与电池管理、单片机及外设、显示屏、用户控制五个部分,并强调这种模块化思路便于画图和PCB布局。对想自行打样的读者来说,按模块拆分原理图与布局,能减少走线混乱和调试难度,也方便后续单独替换或升级某一功能模块。

功能定位偏向便携测试工具

项目集成了电压测量、通断测量、二极管测量、PWM输出与输入、直流输出等功能,并保留红绿灯提示逻辑。这些功能组合更接近一款多功能测试笔,而非通用开发板。读者可据此判断它是否适合作为学习RTOS、GUI与模拟前端结合的参考,而不是期待它覆盖所有仪器场景。

软件示例体现工程处理细节

电池电量测量代码对ADC采样数组去掉最大最小值再求平均,用于抑制数据突变;PWM占空比则在定时器中断中按计数周期更新比较值。这些片段展示了实际调试中常见的滤波与定时刷新思路,对刚接触CW32或FreeRTOS的读者有直接参考价值。

开源资料完整但需自行验证

文章说明原理图、PCB、生产资料和源代码均已公开,并给出Gitee仓库与飞书文档链接。不过作者也提到部分功能尚待完善,例如PWM输入对串口数据的解码尚未实现。因此读者在打样或移植时,应结合自身需求验证功能边界,不宜直接视为成熟成品。

❓

Q&A

这个开源项目使用了什么主控单片机?

该项目使用CW32国产单片机作为主控。

这个项目集成了哪些主要功能?

项目集成了RTOS、GUI、蓝牙和电源管理等功能,具体包括电压测量、通断测量、二极管测量、PWM输出、PWM输入和直流输出等。

电路设计分为哪几个部分?

电路设计分为五个部分:模拟前端、电源与电池管理、单片机及外设、显示屏、用户控制。

软件代码包含哪些模块?

软件代码包含GUI(LCD驱动和UI)、FreeRTOS(RTOS系统)和USER(底层驱动和app)等模块。

这个项目是开源的吗?在哪里可以获取源代码?

是的,该项目是开源的,源代码和设计资料均可公开获取。开源地址为:https://gitee.com/multifunction_test_pen/test_pen。

如何实现电池电量测量?

电池电量测量通过采集ADC值,计算BAT_ADC_ResultBuff数组的平均值,并去掉最大最小值以防止数据突变,从而得到电池电压值。

PWM占空比如何调节?

PWM占空比调节在PWM中断中修改,通过改变PosWidth值来实现。

🏷️

标签

➡️

继续阅读