一款GDI编写的示波器软件(完整工程含源码)

这个软件是在以前在公司编写的一个小工具软件,现在公司也不做这个了,而且估计也没几个人真用.放在硬盘里一直想删掉,每次看到这个

界面总觉的有点舍不得,现在公布出来当新人学习资料吧,当时公司的程序,美工全是自已,为了这个界面我还专门学了Photoshop6.0,

虽然业余,但是比没有强.现在看来,当时水平也不是太烂,不过Photoshop现在基本上全忘了:(.

对了,开发这个软件界面时受到当地医院病房床头放着的一台估计是测量病人的生命体症的仪器的界面启发,而且当时好像影音播放软件一直在界面领域

表现非常抢眼,如当时金山的播放器,那美工水平真的没得说.所以有了这个软件下面的播放条.搞的这软件不伦不类~

先上个图:

 

 

按空格键可以看示波器演示效果.

这个软件完全采用GDI完成.是基于MFC的对话框框架.说起这个框架,大概从这个软件开始,是我做工业控制类型的程序的首选.

这种框架就像你用sdk编程一样方便,它像一块没有雕琢的原材料,你可以在上面随意刻划你想要的图案.而且又没有SDK的繁索,

结构也很合理,当然适应范围也很窄,比如不适合各种类型的分辨率,如果用户的机器配置各种各样,那你的工作量就大了,有可能

为每个用户写一套UI,当然你可以有解决办法,这就是将界面的布局,图片资源完全完采用脚本方式,生成一个皮肤脚本,还可以

做一个皮肤工具,这个工具当然是给你公司的美工使用,这样无论做多少套界面和你无关了,由美工去做吧,嘿~~~.其实做为工业

控制类型的程序,它的目标客户是非常单一的,而且又要求非常专业化,所以基于对话框的架构仍然是首选.它有些类似于嵌入式软件

开发,非常有针对性.

 

这款软件的看点就是各种GDI对象的运用,现在很多第三方控件库,图形库到处可以下载,很少有人会再去搞GDI的编程,但是在2000

年时GDI还属于比较高端的绘图方式,一本书也让人看的很头晕.但是如果不掌握GDI的话,对MFC的基于CWnd类型的各种控件对

象就很难用的熟,让你继承MFC的UI类,来个自绘某某某,搞的屏幕闪啊闪,弄的一会儿系统就资源耗尽,gdi资源一泄千里.所以,如

果学习的话,少用成品库,多自已写点东西还是很有必要的.

 

这个软件配套的设备驱动程序代码暂且不公布了,事实上也用不到,有时间我专门写篇相关的驱动程序开发文章,这也是一个软件开发的

一个大领域.

 

 下载地址:

 http://files.cnblogs.com/Perit/%e7%a4%ba%e6%b3%a2%e5%99%a8-04-9-29-3.rar

(空间越来越小了,估计以后没法传工程代码了,不行的话,我将核心代码发上来)

 还是要说一句,此代码仅供学习用,不得用于商业.

 

转载于:https://www.cnblogs.com/Perit/articles/1698864.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容摘要: 本设计是基于 本设计是基于 Cortex-M4 内核 的 STM32的数字示波器,使用主控芯 片为 STM32F439,主频 180M,外部扩展的 16MB的 FLASH。本设计主要由三大 本设计主要由三大 部分组成。第一大是 硬件 部分:芯片内有三个置 ADC来进行信号采样,主 控外接一个 800*480的 TFTLCD显示屏 来显示待测信号; 来显示待测信号; 第二大部分是 显示部分 部分 :该设计使用了 Seagger公司的 公司的 eMwin作为显示 输入 插件,通过该可以实 时的显示波形,并且可以通过触摸键盘进行 交互 操作;第三部分则是数据处理的 一 些算法:本设计在内 s部有 N=512的 FFT算法、基于线性插值的 算法、基于线性插值的 时基变换递归 算法、递推平均滤波等用来处理采样数据。 该设计 实现了常规双通道示波器的 XY/YT显示方式, 显示方式, 采样频率达到 3.2MS/s,带宽 300KHz,在不开启 FFT功能时 功能时 FPS为 0.41,开启时 为 0.8左右, 能很好的 实时 显示出外部的函数发生器输入正弦波、方锯齿斜白噪声 等测试 信号,并且可以实时显示出 FFT曲线, 可以根据输入信号频率手动调节采 样频率, 内有 统计算法可以实时得到并显示电平信号的均值、 有效峰频率等物理量, 值得一提的是信号 频率的计算是基于 FFT算法得到的,在该设 算法得到的,在该设 计的带宽内失真 率不会超过 2%,误差较 小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值