一个集RTOS、GUI、蓝牙、电源管理等一体的嵌入式软硬件开源项目
[复制链接]
今天给大家分享一个基于CW32单片机做的软硬件开源项目,其中包括RTOS、GUI、蓝牙、电源管理等众多常用功能。
这个产品我收到一个实物,也用了一段时间,但有些功能还没有完善,不过整体还不错,用于学习或者做项目借鉴完全没问题。
主要功能包含:
1.电压测量+阈值判断,阈值电平可以根据需求自行设定满足不同逻辑电平的场景,并且保留“简易逻辑电平测试笔“好用的红绿灯提示功能;
2.通断测量,且阈值电阻可以根据需求调整;
3.二极管测量,点亮一颗二极管(注意!不是三极管!!!);
4.PWM输出,方便在一些场景下提供一个已知量对系统进行测试,也可以对无源蜂鸣器等进行测试;
5.PWM输入,可以对频率进行测量(甚至是对串口等数据进行简单的解码显示等功能,不过目前技术有限还没有实现);
6.直流输出,模拟出一个需要的直流电平进行测试;
7.可以连接扩展板进行配合测量。
设计思路:
在对测试笔进行设计时,我把整体分为了五个部分:模拟前端、电源与电池管理、单片机及外设、显示屏、用户控制。根据模块化的设计思路,我们可以在画电路图时更加有条理,也可以在进行PCBLayout时将布局按照模块进行大致区分,以便于进行走线等操作。
我们根据需求对每个部分进行细化设计,来实现既定目标。在下面,将会结合电路图和PCB对我的设计和设计思路进行详细的说明。
1.GUI---LCD驱动和UI
2.FreeRTOS---RTOS系统
3.USER---底层驱动和app
这里面包括单片机常见外设及应用代码,下面给大家看一些代码。
电池电量测量
BAT_ADC_ResultBuff数组存储的是电池采集的ADC值。
1.计算BAT_ADC_ResultBuff数组的平均值,去掉最大最小值,防止数据突变。
2.将计算的平均值。
占空比调节
占空比修改在PWM中断里面修改,只需要改变PosWidth值。
为了方便测试,这里还引入了上位机工具,比如使用虚拟仪器软件进行测量:
该开源项目使用CW32国产单片机作为主控,目前原理图、PCB、生产资料,以及源代码都公开,感兴趣的小伙伴也可以自己打样做一套。
本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。
|