本帖最后由 witqyz 于 2022-9-29 13:47 编辑
一,多年的宿愿
上学时,就想着自己有空搞个自己的示波器硬件和软件
但,DIY示波器涉及的技术知识点还是很多的,
所以,一直没能完成理解,学有所成。
二、近期买到一个STC32G新出的开源示波器,
感觉硬件和软件都相对容易学习,
所以就试着把软件原理拆解拆,一边拆一边自己学习学习。
1、拆解一周,只拆解了一开头
2、针对目前的这个程序原理来说,示波原理
(1)先做一个绘图功能函数(完成拆解)
(2)用定时器快速采集AD存储起来(未拆解)
(3)用DMA模式实现快速绘图显示(完成拆解)
(4)用定时器做个PWM的波形输出(未拆解)
(5)有了PWM与AD采集显示,基本就能完成一个可输出,可采集的DIY示波器
三、软件原理
1、先给驱动接上个TFT,显示文字和数字
早期,没买到开发板之前,自己手工搭了一个TFT屏进行软件测试
还算幸运,很容易接通了。
2、有了TFT显示屏,自然,重要的是如何显示曲线和表格了
(1)首先建立一个数组来作波形曲线图的数据存储
(2)建立绘表格、会曲线点的函数,
显示一个绘图外框
显示模拟三角波
显示模拟锯齿波
显示模拟方波
3、建立AD采集函数,把数据存储到波形曲线图的数组中(还未拆解)
4、通过绘图函数,快速把曲线绘制出来
(还未拆解)
四、一步一步重新搭建
逻辑说起来是相对容易的,但直要一步步去实现,还是有很多困难的
所以,我自己参考这个开源的程序,慢慢从头建立一个新的工程,
把每一步节点,分成了独立的工程文件
就象楼梯一样,一步一级的向上搭建
由于空闲的时间不多,没来得及拆解更多,
总的来说,
通过拆解这类的开源程序,还是能快速学习到很多技术和知识点,
由于开源程序,已经有了相对形成的设计思路,
所以,边拆解边还是能快速提升技术能力。
测试程序附件:
004-506-main-STC32Gh-IO-TFT-模拟三种波形画图.zip
(7.59 MB)
004-505-main-STC32Gh-IO-TFT-框-变线形变色.zip
(308.84 KB)
004-504-main-STC32Gh-IO-TFT-框-渐进动内格.zip
(305.65 KB)
004-503-main-STC32Gh-IO-TFT-框-内格.zip
(1.3 MB)
004-502-main-STC32Gh-IO-TFT-框.zip
(2.5 MB)
004-501-main-STC32Gh-IO-TFT-显示中英文字.zip
(2.61 MB)
004-001-main-STC32Gh-空main.zip
(55.47 KB)
003-main-STC32Gh.zip
(55.17 KB)
002-main.zip
(24.05 KB)
001-newPJ.zip
(10.63 KB)
|