本项目介绍一款集成了STM32微控制器和触摸屏的便携式小型示波器的设计与实现,提供硬件电路图及软件源代码。
我一直未曾分享过任何东西,主要是因为自己的技术基础薄弱且不知道如何有效地学习。早在大二上学期的时候就接触了STM32项目,但后来搁置了两年。那时我刚接触STM32,并且没有相关经验与知识积累。当时的教程资料也较为有限,《不完全手册》还处于早期版本,也没有任何视频教学资源可供参考。对于像我这样学习能力较弱的人来说,这样的环境无疑增加了许多困难。
然而,在一个偶然的瞬间,我的脑海中萌生了一个想法:制作一款带有触摸屏功能的小型便携式示波器。这个念头一经产生就无法抑制地想要付诸实践了。于是我就开始了疯狂搜集资料的过程,并且在那段时间里因为自己的努力获得了回报——成功赢得了女友的心(这里插一句玩笑话,认真的人确实很吸引人!)。就这样,“触摸屏示波器”项目正式启动。
回想起来,我真的很佩服自己当时的无知与鲁莽。比如使用J-Link时,只知道它是用来下载代码的工具,并不知道它还具有在线调试的功能。由于我对51单片机的理解只停留在不支持硬件仿真上,因此一直以为J-link只能用于编程而无法进行调试工作。在那个阶段,我所有的程序测试都依赖于不断地烧写、运行和验证过程,完全没有意识到断点与单步执行的重要性。
现在回想起来,当时的自己确实很傻(这里用词原意)。为了完成这个项目耗费了大量时间,在这段期间牺牲了许多陪伴女友的时间。直到项目的最终展示时,被问及为何没有使用在线调试工具才恍然大悟——原来我竟然不知道什么是在线仿真!虽然当时只是搪塞过去说不用仿真可以锻炼思维能力,但事后通过搜索资料我才明白自己有多么天真。
这个示波器项目要特别感谢原子哥的平台、教程以及开源的MINIDSO。尽管这是我第一次编写STM32程序且没有使用任何调试工具,代码风格也较为混乱(乱),但这毕竟是我自己的作品,并实现了基本的功能要求。外部电路也可以正常工作,请用信号发生器进行测试时注意直流偏移问题。
功能包括但不限于:触摸操作、波形显示、频率等参数测量、游标移动控制、波形位置调整及触发电平调节等功能框架,部分尚未完全实现;此外还有截图保存等相关特性等待进一步完善。具体开发指南请参考原子哥的《不完全手册》文档,并先将MINISTM32综合实验代码下载到开发板上更新字库后即可开始使用本项目程序。
最后附带实物图以供展示: