前段时间在一论坛很幸运得到了一个STM32F469Discovery套件,这么好的资源我准备做一个简易示波器,现在初步实现方波的简单显示(初学GUI,很多不会,望各位大神轻喷!!)
简易示波器功能描述:
1.测量直流信号、交流信号的电压幅度;
2.测量交流信号的周期,并计算频率;
3.显示交流信号波形;
4.波形的放大和缩小;
5.···········
暂时就先实现以上几个简单的基本功能,STM32芯片是3.3V供电,AD采样也只
有0-3.3V,前端没有做硬件电路,所以这些测量暂时都是0-3.3V;
目前实习功能:方波简单显示;
首先看一下显示效果:
连接方式:
实现过程: 1.用STM32F411NUCLEO开发板做信号源,输出100us的方波(这个简单,就是I/O引脚的翻转); //led=1; GPIO_ResetBits(GPIOA,GPIO_Pin_1); delay_us(100); GPIO_SetBits(GPIOA,GPIO_Pin_1); // led=0; delay_us(100);
2.STM32F469_Discovery套件使用官网例程中的emWIN为模版新建工程,删除 例程中的BASIC_HelloWorld,在用函数sin产生一个sin函数对应的x,y即可画出sin函数图线如下:
3.增加ADC采样,在利用GUI画出ADC采样的值,如下图采样GND:
4.增加DMA中断处理,读取ADC采样的1000数据的中间500个数据,画出图线,既可以得到: 这个图比较简单,存在很多问题: 1.标准方波显示出来并不标准,因为我用的是1路ADC采样,采样频率不高,后面学习安富莱示波器的教程,使用3路ADC采样; 2.刻度和显示效果差,因为时间比较紧,这些基本的还未修改,另外我也是刚接触emWIN这个GUI,很多还不会,画图基本上使用最繁琐、最 复杂的函数画图,所以显示效果不佳,后续在改进。
|