前言
感谢大家的支持,提前奉上今年的国庆福利。

一代示波器发布于3年前,去年年底的时候发布了二代示波器,软件性能已经比较强劲,但依然有值得升级改进的地方,经过今年这半年多努力,在二代示波器的基础上再推出网络版,目标只有一个,希望能够在实际项目上帮到大家。

一. 制作二代示波器网络版的意义在哪里
1、二代示波器网络版突出实战性和可玩性,突出娱乐性的项目已经发布过两款综合设计(RTX及其所有中间件这套软件已经整的比较溜且稳定了,特别是网络这块,非常稳定)

(1)F429开发板RTOS+emWin+FS+TCP/IP+USB+CAN+Modbus综合Demo。

(2)原创开源,极具可玩性的高端玩法,使用F429外接32位SDRAM虚拟VNC桌面,无需显示屏。

2、 本次工程延续以往的代码风格,从底层BSP驱动包到应用代码,变量命名,文件命名,程序框架,注释等都比较规范,大家阅读或者移植都会比较方便。另外,阅读代码时,务必将编辑器的缩进参数和TAB设置为4来阅读本文件,否则显示不整齐。

3、硬件是基于F429自带的ADC实现双通道2.8Msps采样率,相对比较low,但是软件性能比较强劲,算是这几年实战经验的分享,特别是波形快速无闪烁刷新、波形缓冲浏览、滑动调节波形、RTOS框架、GUI框架、数字信号处理等,示波器只是起到一个载体的作用。这些都极具项目实战价值,也正是推出这个二代示波器的意义所在,希望能够在实际项目中帮到大家。

4、负责的说,这个二代示波器网络版从无闪烁整体加载,波形快速刷新,数值窗口更新到窗口开关切换,每个细节的点,基本都做了很多方案的测试,选择了最优化设置,详情可看教程说明。

5、波形刷新速度方面,在600*400显示区,仅刷新一路波形,速度可以飙到将近40帧。现在为了降低CPU利用率,更新界面,刷两路波形和FFT频谱,将刷新速度固定在20帧,刷新常见波形,全程无闪烁感。只有比较复杂的,覆盖大范围显示区的波形才会有闪烁感。

6、任务栈,FFT,FIR等需要频繁操作的变量,全部使用CCM RAM。

7、这个项目的可玩性极高,可以做很多有意思的应用。做一些远程智能控制尤其方便,省去了学习html,xml,js等麻烦,且无需显示屏。由于Windows,Linux,MacOS,iOS,Android端都有VNC软件,访问操作都比较省事。

8、网络协议栈用的RL-TCPnet,采用高效的事件触发方式运行,而VNC Server是用的emWin自带的功能。这里是用的我们板子带的32位SDRAM虚拟一个800*480分辨率的界面出来。底层已经全部采用F429的DMA2D进行了优化。手机端和电脑端都可以访问的,这样就省去了使用显示屏的繁琐,而且性能可以发挥到F429外接裸屏的30%-50%。

总的来说, F429的性能已经被开到最大马力,99%的CPU使用率,能想到的各种性能加特已经全部开启,并且MDK编译器也是开启最高等级优化和超给力的时间优化。

二、注意事项(重要,必读)
1、例程基于我们的V6开发板,无需显示屏。

2、仅作了MDK版本,IAR版本暂时不做了。

3、测试例子前,务必看视频演示和教程第2章节的操作说明(特别是手机端访问,记得开WIFI)。

4、代码注释已经比较详细。看完教程后,可以直接看代码。

5、FFT,FIR,普通触发,频率估计和水平滑动浏览波形缓冲,仅对波形通道1做了支持。而其它功能,波形通道1和通道2都支持。

6、务必使用MDK4.74进行编译,如果使用MDK5的话,推荐安装个MDK4的兼容包,比较省事。

7、测试例子时用的DM9161/9162网口,接到路由器或者交换器上面测试,因为采用的NetBIOS Name进行测试的。

8、首次下载到成续到板子里面后,请断电,然后重新上电进行测试,待ping stm32-v6通了后,就可以使用VNC软件访问了。

三、开启MDK最高的3级优化,同时开启相当给力的时间优化

四、RTOS系统调试
RTX调试组件效果展示

五、程序下载:
基于RTX emWin RL-TCPnet ARM_DSP_Lib的二代示波器网络版Demo.rar

链接:https://pan.baidu.com/s/1LydxdtgqIPmBkzzGHbLOSg 密码:kmh1

六、视频演示
之前做的显示屏版,强烈推荐大家看视频演示,网络就是在这个的基础上实现

强烈推荐看看^_^

https://v.qq.com/x/page/v0549377211.html

七、二代示波器网络版教程
教程中对各种方案选型,效果对比,设计优化等做一个全面的说明,算是一个比较完整的论文设计了,不过更详细的实现需要大家直接看代码,代码注释已经比较详细。

链接:https://pan.baidu.com/s/1LydxdtgqIPmBkzzGHbLOSg 密码:kmh1

八、电脑端,Pad和手机端访问效果:

手机端访问效果,跟电脑端一样流畅,动态GIF:

Pad端访问效果,也比较流畅,动态GIF:

电脑端访问动态GIF,重点看响应速度:

九、二代示波器网络版介绍
介绍图片比较多,非常占用篇幅,这里仅贴了部分截图,详情看之前的帖子即可

【原创开源】网络版二代双通道示波器开源发布,支持电脑,手机和Pad等各种OS平台访问的更多相关文章

  1. 开源搜索引擎Iveely 0.8.0发布,终见天日

    这是一篇博客,不是,这是一篇开源人的心酸和喜悦,没有人可以理解我们的心情,一路的辛酸一路的艰辛,不过还好,在大家的支持下,总算是终见天日,谢谢那些给予我们无私帮助的朋友.您的支持,依然是我们无限的动力 ...

  2. Tapdata 的 2.0 版 ,开源的 Live Data Platform 现已发布

    https://www.bilibili.com/video/BV1tT411g7PA/?aid=470724972&cid=766317673&page=1 点击上方链接,一分钟快速 ...

  3. 完全国人自主研发原创的智能软件路由器BDS即将发布,附带企业服务总线ESB功能

    完全国人自主研发原创的智能软件路由器即将发布: 完全国人自主研发原创的智能软件路由器BDS即将发布,附带企业服务总线ESB功能 智能软件路由器 BDS 简要介绍 http://kan.weibo.co ...

  4. 开源中国 2014 最受关注开源软件排行榜 TOP 50

    开源中国 2014 最受关注开源软件排行榜 TOP 50 开源中国 2014 年最受关注软件排行榜 TOP 50 正式出炉!2014 年结束了,我们来了解一下过去一年里开源中国最受欢迎的 50 款软件 ...

  5. [转]开源中国的 IT 公司开源软件整理计划介绍

    [转]开源中国的 IT 公司开源软件整理计划介绍 http://www.oschina.net/news/61534/oschina-opensource-collection-plan-for-it ...

  6. 以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区

    以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区 以正确的方式开源 Python 项目 英文原文:Open Sourcing a Python Project the Right ...

  7. dnc开源梦之队2018 开源项目精选集

    dnc开源梦之队2018 dnc开源项目选择标准 dnc = .NET Core.dotnet core 1.支持dnc 2.x,Github star数量100以上,最近2月活跃更新 2.轻量级.示 ...

  8. 2015 年度新增开源软件排名 TOP 100 - 开源中国社区

    2015 年度新增开源软件排名 TOP 100 - 开源中国社区 39.ABTestingGateway http://www.oschina.net/news/69808/2015-annual-r ...

  9. 开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等

    开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等 C++开发网络通信程序时用asio是个不错的选择 ...

随机推荐

  1. mysql left join 左连接查询关联n多张表

    left join 左连接即以左表为基准,显示坐标所有的行,右表与左表关联的数据会显示,不关联的则不显示.关键字为left join on. **基本用法如下: select table a left ...

  2. jQuery学习之旅 Item4 细说DOM操作

    jQuery-–DOM操作(文档处理) Dom是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准 ...

  3. Javascript 进阶 继承

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/29194261 1.基于类的继承 下面看下面的代码: <script typ ...

  4. 玩转PHP(一)---php中处理汉字字符串长度:strlen和mb_strlen

    注:本文为小编原创,如若转载,请注明出处:http://blog.csdn.net/u012116457/article/details/42536039 今天正式开始学习PHP了,不过小编一不小心就 ...

  5. anguments

    anguments是一个对象,长得很像数组的对象,但不是数组,而是伪数组. arguments的内容是函数运行时的实参列表 (function(d, e, f) { console.log(argum ...

  6. volume_manager.go

    package ) type) ],,) ,)             vms.CanCreateVolume = false         } else {             vms.Can ...

  7. [codeforces 804F. Fake bullions]

    题目大意: 传送门. 给一个n个点的有向完全图(即任意两点有且仅有一条有向边). 每一个点上有$S_i$个人,开始时其中有些人有真金块,有些人没有金块.当时刻$i$时,若$u$到$v$有边,若$u$中 ...

  8. oracle常用系统函数

    一.字符类函数 字符类函数是专门用于字符处理的函数,处理的对象可以是字符或者字符串常量,也可以是字符类型的列. 1.ASCII(c)和CHR(i) ASCII(c)函数用于返回一个字符的ASCII码, ...

  9. appium----【已解决】【Mac】环境配置提示“Xcode Command Line Tools are NOT installed!"

    报错问题提示截图如下: 报错原因 :根据给出的信息很明显可以看到是"Xcode Command Line Tools"此工具没有安装 解决措施: 打开终端直接执行:xcode-se ...

  10. 【转】APP功能测试要领

    也许大家从事APP功能测试已经有一段时间了,心中一定有一个疑问,怎么样才能提高测试的覆盖面呢,我今天把APP功能测试内容分为APP本身的功能,APP关联的事务.APP外部环境.APP其他四大块来给大家 ...