硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3591|回复: 5
收起左侧

[有问必答] 版主有没有串口上位机显示波形(虚拟上位机示波器)?

[复制链接]

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
发表于 2018-8-17 11:14:14 | 显示全部楼层 |阅读模式
串口上位机显示波形非常的实用我在网上找到一个,但是上位机没有开源,想找一个开源的






简介

顾名思义,虚拟示波器并不是真实的示波器,简单地说而是一款PC端开发的监控数据变化曲线的软件,与下位机进行通信。这种类型软件网上有很多,我现在推荐的是我前几年用的一款虚拟示波Data_Scope,在调试中起到了很大的帮助,感觉还不错,推荐给大家。用此软件可以监控速度变化曲线,角度变化曲线,AD值变化曲线等等,你想要监控的重要变量情况都可以。相比于串口调试助手,能以曲线形式更直观的显示变化情况。


使用说明基本原理

虚拟示波器与串口调试助手一样,需要下位机将数据通过UART发送数据到上位机端,Data_Scope示波器需要库函数支持,主要作用是将要发送的数据打包成指定的协议格式发送出去。该示波器主持10通道监控,即支持测量10个变量的变化情况。软件界面如下:

使用方法

1.将下载的库函数移植工程里。
2.通过如下函数SendDisplay调用显示。在SendDisplay中将需要发送的变量通过DataScope_Get_Channel_Data函数进行协议编写再发送,该函数形式为:

DataScope_Get_Channel_Data(要发送的变量,发送显示的通道数)。

例子中仅对ADValue变量进行显示。若还需要显示其他变量可以对其相应的调用开启(一个通道只能显示一个变量)


/*************************虚拟示波器调用显示********************  功能说明:示波器发送函数*  说明:   针对STM32开发*  函数返回:*//**************************************************************/  void SendDisplay()
{   
unsigned char i;          //计数变量  
  unsigned char Send_Count; //串口需要发送的数据个数                                
DataScope_Get_Channel_Data( ADValue, 1 );
//  DataScope_Get_Channel_Data(Value1, 2 );
//  DataScope_Get_Channel_Data(Value2, 3 );  
//  DataScope_Get_Channel_Data( Value3, 4 );  
//  DataScope_Get_Channel_Data(Value4, 5 );  
//  DataScope_Get_Channel_Data(Value5, 6 );  
//  DataScope_Get_Channel_Data(Value6, 7 );
//  DataScope_Get_Channel_Data( Value7, 8 );
//  DataScope_Get_Channel_Data(Value8, 9 );
//  DataScope_Get_Channel_Data(Value9, 10);   
  Send_Count = DataScope_Data_Generate(10); //生成10个通道的 格式化帧数据,返回帧数据长度       
   for( i = 0 ; i < Send_Count; i++)  //循环发送,直到发送完毕     
   {      
     printf("%c",DataScope_OutPut_Buffer);//发送字符    
  }     
   delay_ms(50);//帧间隔时间。 不同场合情况可能不一样,建议实测为准。  }
几项注意

(1)SendDisplay函数中的printf()为发送一个字符,如果不用printf,可以用自己带的寄存器或库函数编写。比如采用STM32,则printf( )可以用如下代替:

          while((USART1->SR&0X40)==0);//获取发送状态标志位(stm32)                                         
            USART_SendData(USART1,DataScope_OutPut_Buffer);//发送数据  

(2)发送完一帧数据包后必须要延时,这个延时根据不同场合可能不一样,需要实测。这个也是这款软件存在的一些缺点和不足,这种延时可能会占用系统时间而影响其他运行,可以通过定时器或实时操作系统等方法改善。


回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2018-8-17 11:15:30 | 显示全部楼层
这个是我找到的

串口上位机波形.rar

2.57 MB, 下载次数: 116

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107157
QQ
发表于 2018-8-17 11:30:38 | 显示全部楼层
太麻烦了,学习J-Scope吧,仅需JLINK即可:


【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86881



回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2018-8-17 11:40:09 | 显示全部楼层
本帖最后由 ssssssss 于 2018-8-17 14:01 编辑

1,版主这么牛    应该多宣传一下  ,2,这个只能上传波形来看,如果我想设计单片机算法的话,想在上位机里面做一些滤波,然后移植到单片机,这个应该不行吧 那这个怎么弄
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2018-8-17 16:48:41 | 显示全部楼层
而且这东西比较复杂不容易调试啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107157
QQ
发表于 2018-8-18 01:29:50 | 显示全部楼层
ssssssss 发表于 2018-8-17 16:48
而且这东西比较复杂不容易调试啊

J-Scope还有一个HSS模式的简单方式:
http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-21 00:40 , Processed in 0.177200 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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