stm32F1示波器,FFT显示

基于野火指南者开发板的简易示波器,使用emwin544+freertos,用片上adc采样,最高1MHz采样


花了几天时间写了一个很简单的示波器

运行图片

测量另一个单片机产生的PWM波FFT界面测量自身DAC发出的正弦波(带直流偏移) FFT界面 (频率有些不准是因为采样频率太高了,而FFT只有1024个点导致频率的分辨率过大,降低采样频率就准了,但是降低采样频率的话波形就太密密麻麻了233)

功能总览

界面完全更新 可以显示波形或者FFT 最高采样率1M,最低500 使用FFT测量波形频率(在采样率很高时由于FFT点数依旧为1024会不准),显示峰峰值和最小值 按键调整触发电平大小、采样率、电压倍率、水平位移、垂直位移、DAC频率、N个显示点代表1个采样点 按键操作为:单击Key1为增大、上移、左移,Key2相反;双击Key1选择下一个参数,双击Key2选择上一个参数;三击调节DAC正弦波频率 屏幕右上角的按钮可以调整显示FFT或者波形,左上角的按钮可以暂停波形 只有自动触发

操作说明

一共是两个按键和两个按钮进行操作 按键调整触发电平大小、采样率、电压倍率、水平位移、垂直位移、DAC频率、那个 3->1 的意思是连续3个显示点都是同一个采样点的值,可以在不调整采样率的情况下伸展波形。 按键操作为: 单击Key1为增大、上移、左移,Key2相反; 长按Key即为连续单击Key,加速操作 双击Key1选择下一个参数,双击Key2选择上一个参数(有黑白闪烁提示); 三击Key1和Key2调节DAC正弦波频率 屏幕右上角的按钮可以调整显示FFT或者波形,左上角的按钮可以暂停波形

没有的功能(以后可能添加)

正常触发 波形保存 自动设置 多通道,目前只有一个通道 光标测量

引脚说明

PA4和PA5输出DAC正弦波,PC5作为ADC的输入,两个按键分别为PA0和PC13,串口用USART1,PA9、PA10收发。

代码地址

经验分享 程序员 微信小程序 职场和发展