搜索
bottom↓
回复: 27

分享一个牛逼的高速的串口波形上位机软件

  [复制链接]

出0入0汤圆

发表于 2014-11-29 17:15:14 | 显示全部楼层 |阅读模式
本帖最后由 znfc2 于 2014-11-29 17:21 编辑

前言:
        最近做项目需要用到能够看波形的上位机软件,突然想起2012年自己写过的” 虚拟示波器_beta1.7”,效果如下图所示:

        当时是参加第七届全国大学生飞思卡尔杯智能汽车竞赛,为了调电机控制PID参数,需要一个软件能够展现速度变化趋势,响应速度什么的。有个大概叫scope V2 的软件很不错,但是不注册就只能固定9600波特。注册失败+灰色按钮克星失败,然后就有些心塞~_~。
        于是为了提高比格,就自己写了个。用的传说中的”极品工业控件”+”visual basic”。由于当时创新实验室对于智能车这块基本还是一穷二白的状态,算法、机械、硬件、上位机都不成熟,然后我就疯狂瞎写了一把各种算法各种软件。。。以前写的串口波形软件勉强能用,主要问题是不稳定,细节没有完善,实时性不够高。
        后来2013年的时候发现了匿名四轴,宣称超高波特率,超强实时性,细节优化也不错,于是抱着试试看的心态体验了一把。。。广告做完了,开始动真格的!

第一步:移植我提供的代码到你的目标机(一般是MCU)的IDE(MDK,IAR,CW,Eclips…..)中。
|+WAVE
|----wave.c
|----wave.h
如果这个不会添加,那么烧年烧女要加油呀!
注意wave.h 的头和尾,这是eclipse自动生成的,其他IDE可能有所不同。
  1. #ifndef WAVE_H_
  2. #define WAVE_H_
  3. #endif /* WAVE_H_ */
复制代码

然后改下关键函数,根据自己的hardware platform修改即可,(不会改别问我~_~)
  1. /**************************向物理串口发一个字节**********************************
  2. ******************************************************************************/
  3. __inline unsigned char UART_Putc(unsigned char data)                       
  4. {
  5.         uart_send1(UART_1,data);
  6.         return data;
  7. }
复制代码

改好了我们就可以开始调用了。在你想调用的C文件顶部加上一句:
#include "wave.h"(如果IDE找不到,可以改IDE配置或者改成"..\WAVE\wave.h"试试)
我提供一个简单的调用例子:
  1. Void main(void)
  2. {                                                               
  3.         USART_Configuration();                //系统初始化
  4.         printf(" hello!\r\n");                        //测试串口
  5.         while(1)
  6.         {               
  7.                 delay_1ms(2);                        //发送间隔(最小间隔与很多因素有关,省略一万字)
  8.                 Uart1_Send_AF(100-i,i+100,i,i*2,i/2,100*sin(3.141592*(180-i)/180),0,0);       
  9.                                                         //sin函数不同的IDE可能不同。
  10.                 send_wave();
  11.         }
  12. }
复制代码

然后我们编译一把,没报错的话,下位机部分我们就搞定了。

第二步:上位机设置
双击ANO_Tech匿名四轴上位机v2.3.exe,跳出蓝色界面单击x,于是进入主界面。
1:在基本功能中,设置好串口号和波特率,其他默认即可
2:在高级收码中,打开“数据校验” “数据显示” “功能帧显示”,再点击“打开串口”和开启界面下方的“高级收码”。
于是进入高级收码界面,就会收到类似这样的数据:(注意换行)
  1. 88AF1C 0083 01C1 012C 0063 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 28
  2. 88AF1C 0063 01BA 012E 0045 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 E5
  3. 88AF1C 0055 01C2 0131 0038 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 D5
  4. ......
复制代码

3:然后关掉“数据显示” “功能帧显示”, 开启界面下方的“飞控波形”。再进入波形显示界面,然后你应该能看到波形了。如下图

4:按F12获得帮助,F9设置波形颜色粗细背景色等。。。
5:看前六路即可,后两路自己摸索功能吧。。。
2014-11-29


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-11-29 17:46:08 | 显示全部楼层
1、匿名的上位机确实不错。
2、匿名的上位机更新版本了。这个不是最新版
3、匿名官网,有个上位机开源C#

出0入0汤圆

发表于 2014-11-29 18:31:11 | 显示全部楼层
谢谢楼主分享,这个是必须要的。

出0入0汤圆

发表于 2014-11-29 18:38:18 | 显示全部楼层
不明觉厉

出0入0汤圆

发表于 2014-11-29 18:41:23 | 显示全部楼层
谢谢楼主分享啊

出0入0汤圆

发表于 2014-11-29 20:07:27 来自手机 | 显示全部楼层
串口能快到哪里。

出0入0汤圆

发表于 2014-11-29 20:31:07 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2014-11-29 20:35:32 | 显示全部楼层
楼主上usb吧,速度才快

出0入0汤圆

发表于 2014-11-30 06:39:30 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2014-11-30 07:48:21 | 显示全部楼层
USB的就好了

出0入0汤圆

发表于 2014-11-30 08:33:05 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2014-11-30 10:59:35 | 显示全部楼层
彼岸花开@ 发表于 2014-11-29 17:46
1、匿名的上位机确实不错。
2、匿名的上位机更新版本了。这个不是最新版
3、匿名官网,有个上位机开源C#

这个我最喜欢开源C#了吧,是不是源码也开放了呢,最近在狂学习C#啊;

出0入0汤圆

发表于 2014-11-30 11:04:03 | 显示全部楼层
彼岸花开@ 发表于 2014-11-29 17:46
1、匿名的上位机确实不错。
2、匿名的上位机更新版本了。这个不是最新版
3、匿名官网,有个上位机开源C#


开源了C# 源代码?那么好啊,那得去看看  嘿嘿  学学C#编程

出0入0汤圆

发表于 2014-11-30 11:16:49 | 显示全部楼层
不错                     

出0入0汤圆

发表于 2014-11-30 11:53:37 | 显示全部楼层
kinsno 发表于 2014-11-30 10:59
这个我最喜欢开源C#了吧,是不是源码也开放了呢,最近在狂学习C#啊;

1、开源的不是他们提供给我们使用的那个上位机。
2、说他们开源不是很准备。应当是做一个开源的上位机
3、他们网站上的开源C# 上位机已经很久没有更新了
4、网址http://www.anotc.com/Product/Overview/7

出0入0汤圆

发表于 2014-11-30 11:54:44 | 显示全部楼层
mubei 发表于 2014-11-30 11:04
开源了C# 源代码?那么好啊,那得去看看  嘿嘿  学学C#编程

1、见15楼、
2、加油哈、

出0入0汤圆

 楼主| 发表于 2014-11-30 12:34:49 | 显示全部楼层
彼岸花开@ 发表于 2014-11-29 17:46
1、匿名的上位机确实不错。
2、匿名的上位机更新版本了。这个不是最新版
3、匿名官网,有个上位机开源C#

开源的那个目前太简陋了.
新版感觉操作有点麻烦.

出0入0汤圆

 楼主| 发表于 2014-11-30 12:39:05 | 显示全部楼层

我目前最快能看250HZ,对于很多实时控制都够了(4ms刷新一次),,如果用更高波特率,例如500K / 1M    500Hz / 1000Hz 问题不大

出0入0汤圆

 楼主| 发表于 2014-11-30 12:43:06 | 显示全部楼层
loveavr999 发表于 2014-11-29 20:35
楼主上usb吧,速度才快

已经不是十年前了,没动力学usb通信,,,,,其实stm32的usb虚拟串口已经很快了,例如1M波特率可以104kbytes/s , 对于很多上位机都够了~

出0入0汤圆

 楼主| 发表于 2014-11-30 12:43:26 | 显示全部楼层

已经不是十年前了,没动力学usb通信,,,,,其实stm32的usb虚拟串口已经很快了,例如1M波特率可以104kbytes/s , 对于很多上位机都够了~~

出0入0汤圆

发表于 2014-11-30 12:43:44 | 显示全部楼层
匿名四轴,上位机开源界面还可以

出0入0汤圆

 楼主| 发表于 2014-11-30 12:46:42 | 显示全部楼层
wenxy00 发表于 2014-11-30 12:43
匿名四轴,上位机开源界面还可以

昨天看了下,开源的很简陋,连看波形都不行的

出0入0汤圆

发表于 2014-11-30 12:50:55 | 显示全部楼层
嗯,250Hz应该能满足大多数应用,当时用VB写的串口监控程序,超过20Hz就丢帧严重,换过VC测试过100Hz满足自己的要求就没再测试了。
用VC写的100Hz时CPU占用率好像没变大,估计还可以提高。

不知C#写的能否达到要求,CPU占用率高不

出0入0汤圆

发表于 2014-11-30 13:02:48 | 显示全部楼层
不错  ,楼主这个方案很好 ,很方便自己的移植

出0入0汤圆

 楼主| 发表于 2014-11-30 13:16:46 | 显示全部楼层
tdh03z 发表于 2014-11-30 12:50
嗯,250Hz应该能满足大多数应用,当时用VB写的串口监控程序,超过20Hz就丢帧严重,换过VC测试过100Hz满足自 ...

我以前用VB 达到了50/60Hz   
勉强达到要求

出0入0汤圆

发表于 2014-11-30 14:21:43 | 显示全部楼层
mark            

出0入0汤圆

发表于 2014-11-30 16:01:17 | 显示全部楼层
学习了,谢谢!!

出0入0汤圆

发表于 2020-12-6 22:23:56 | 显示全部楼层
收下了,谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 03:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表