DataScope v1.0 多功能串口虚拟示波器使用介绍

摘要:
库文件说明函数1:voidDataScope_Get_Channel_Data;函数无返回值。返串口需要发送的字节数目,返回0表示本次转换失败。下面是软件的设置者给出的截图:实验过程目的:在单片机端随机生成0-20之间的数据,通过USART串口进行传输,在上位机软件中进行显示波形。USART1-˃DR=DataScope_OutPut_Buffer[i];语句是丢一个数据出去;Delay;是发送完一次转换的数据之后进行简单的延时等待。

DataScope v1.0 特性

1、无需安装,启动即用;2、支持同时刷新多达10个通道的单精度浮点型数据;3、支持多种格式的通道数据导入、导出及回放;4、支持全屏浏览;5、支持图表数据统计、测量及缩放;6、支持蓝牙适配器;7、支持各通道独立刷新;8、支持3D轨迹显示;9、3D立方体显示;10、航空仪表;11、灵活可屏蔽的快捷键支持。

---软件下载见原网站---

准备工作

在使用时我们要先引入头文件“#include "DataScope_DP.h"”,这个头文件中定义了我们需要用的2个函数和一个数组,分别是:

extern unsigned char DataScope_OutPut_Buffer[42];       //待发送帧数据缓冲区
void DataScope_Get_Channel_Data(float Data,unsigned char Channel);    //写通道数据至 待发送帧数据缓冲区
unsigned char DataScope_Data_Generate(unsigned char Channel_Number);  //发送帧数据生成函数

库文件(v1.0)的ROM和RAM占用情况参考

226 bytes of CODE memory ( At Cortex-M3 ) 
44 bytes of DATA memory ( At Cortex-M3 )

使用系统提供的库文件将会占用系统226个字节存储空间以及44个随机存储空间。

库文件说明

函数1:void DataScope_Get_Channel_Data(float Data,unsigned char Channel);

函数无返回值。

功能:将制定通道的待发送的单精度浮点数据转化为字节数据,存储在DataScope_OutPut_Buffer[42](待发送帧数据缓冲区)

参数: Channel 单字节无符号整形,识别范围 1-10,制定本次数据的通道。

Data:单精度浮点型,传递待转换的浮点数据

函数2:DataScope_Data_Generate(unsigned char Channel_Number)

返回一个单字节无符号整形。返串口需要发送的字节数目,返回0表示本次转换失败。

功能:返回制定通道个数的要发送的帧数据,并存放至DataScope_OutPut_Buffer。

Channel_Number:单字节无符号整形,识别范围 1-10,要发送的通道数目。

下面是软件的设置者给出的截图:

DataScope v1.0 多功能串口虚拟示波器使用介绍第1张

实验过程

目的:在单片机端随机生成0-20之间的数据,通过USART串口进行传输,在上位机软件(DataScope)中进行显示波形。

软件打开如图所示:

DataScope v1.0 多功能串口虚拟示波器使用介绍第2张

我们可以在软件的下面选择打开制定串口:这里是端口10。

DataScope v1.0 多功能串口虚拟示波器使用介绍第3张

我们现在重要的是程序的配置

对于随机函数,我采取的是C语言中的rand()函数,为了得到对应区间的数,我使用rand()/100000000。此处我只使用了通道1进行显示。

现在我们分析数据传输及解析的过程,整个过程分三部分:

1、数据输入:

DataScope_Get_Channel_Data( rand()/100000000 , 1 ); 

实现的是将数据写入通道,这里选择的是通道1,如果选择多个通道,可以写成如下形式:

DataScope_Get_Channel_Data( 1.0 , 1 );  //将数据 1.0  写入通道 1
DataScope_Get_Channel_Data( 2.0 , 2 );  //将数据 2.0  写入通道 2
DataScope_Get_Channel_Data( 3.0 , 3 );  //将数据 3.0  写入通道 3
DataScope_Get_Channel_Data( 4.0 , 4 );  //将数据 4.0  写入通道 4
DataScope_Get_Channel_Data( 5.0 , 5 );  //将数据 5.0  写入通道 5
DataScope_Get_Channel_Data( 6.0 , 6 );  //将数据 6.0  写入通道 6
DataScope_Get_Channel_Data( 7.0 , 7 );  //将数据 7.0  写入通道 7
DataScope_Get_Channel_Data( 8.0 , 8 );  //将数据 8.0  写入通道 8
DataScope_Get_Channel_Data( 9.0 , 9 );  //将数据 9.0  写入通道 9
DataScope_Get_Channel_Data( 10.0 , 10); //将数据 10.0 写入通道 10

2、数据转换(转换为上位机可以理解的数据格式):

Send_Count = DataScope_Data_Generate(1); 

实现 生成1个通道的 格式化帧数据,返回帧数据长度,如果上一步你选择了10个通道,则写成:

Send_Count = DataScope_Data_Generate(10); 

3、传输数据到电脑(上位机):

for( i = 0 ; i < Send_Count; i++)  
{
    while((USART1->SR&0X40)==0);  
    USART1->DR =DataScope_OutPut_Buffer[i];
}
Delay(0xFFFFFF);

其中for( i = 0 ; i < Send_Count; i++)语句实现数据的循环发送,直至第二步中生成的所有数据发送完成。USART1->DR = DataScope_OutPut_Buffer[i];语句是丢一个数据出去;Delay(0xFFFFFF);是发送完一次转换的数据之后进行简单的延时等待。至于延时函数,我们使用的是简单的如下程序:

voidDelay(__IO uint32_t nCount)
{
    for(; nCount != 0; nCount--);
}

现在发送配置就完成了,main()函数的全部内容是:

int main(void)
{
    unsigned char i;         
    unsigned char Send_Count;
    int x=0;USART1_Config();
    NVIC_Configuration();
while(1){ DataScope_Get_Channel_Data( rand()/100000000 , 1 );Send_Count = DataScope_Data_Generate(1); for( i = 0 ; i < Send_Count; i++) { while((USART1->SR&0X40)==0);   USART1->DR = DataScope_OutPut_Buffer[i]; } Delay(0xFFFFFF); } }

实验结果

实验现象如下:右上角显示实时的数据值。

DataScope v1.0 多功能串口虚拟示波器使用介绍第4张

我们可以对波形图的显示方式进行设置,默认是显示图形的当前一部分,接下来来超出屏幕的将看不见,我们可以设置成刷新(显示完一屏之后清空再显示),移动(波形滑动,总显示最新部分),设置如下所示:

DataScope v1.0 多功能串口虚拟示波器使用介绍第5张

软件下载见原网站

选自:http://www.ciast.net/post/20151224.htmlCIAST.NET

免责声明:文章转载自《DataScope v1.0 多功能串口虚拟示波器使用介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sqlmap详细使用 [精简]规则引擎drools封装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

解决POWER BI权限控制问题

主页中选择’管理文件夹’ c.点击’添加组或用户’ d.空白框中输入要添加的用户或组(域用户),设置用户或组角色权限,点击’确定’报表访问/创建用户:建议直接添加everyone.角色勾选’浏览者’;管理员:添加对应域用户名.勾选全部角色 e.如下图,主页权限已设置完成 文件夹及报表权限文件夹及报表权限:即访问文件夹或报表的权限a.选择相关文件夹点...

【windows】在控制面板卸载软件的时候,出现2502,2503的问题

1、 打开“任务管理器”,找到“详细信息”的页签,将“explorer.exe”的进程结束任务 2、菜单栏的“文件”-->"建立新任务"--> 输入Explorer.exe,并且勾选“以管理员的身份执行任务” 3. 再从控制面板卸载软件则不会报错了...

Xcode10趟坑之路

https://www.jianshu.com/p/12558d39ba08 先默念别有太多坑啊 跑起来吧 结果没有跑起来 1.第一个坑 Showing Recent Messages :-1: Multiple commands produce '/Users/wanglei/Library/Developer/Xcode/DerivedData/JMT...

[转贴]软件产品测试标准

[转贴]软件产品测试标准 软 件 产 品 测 试 标 准 国际标准 •  ISO/IEC 17025 General requirements for the competency of testing and calibration laboratories •  ISO/IEC 14598 Software Engineering-Product...

七大国内外主流云计算开发平台

随着大众对云计算日益增长的需求,很多公司也建立了云计算开发平台,从多种角度、多形式的进行云技术的开发。这是开发者打造云战略的一个舞台,他们提供了云的部署及管理应用所需的基于云的开发和应用缩放或者是基础设施的管理,或是提供一个开源软件和硬件向结合的应用程序开发平台。 各种云平台(cloud platforms)的出现无疑是转变云计算技术的重要环节之一。顾名思...

【字符编码】Java字符编码详细解答及问题探讨

一、前言 继上一篇写完字节编码内容后,现在分析在Java中各字符编码的问题,并且由这个问题,也引出了一个更有意思的问题,笔者也还没有找到这个问题的答案。也希望各位园友指点指点。 二、Java字符编码 直接上代码进行分析似乎更有感觉。  View Code 运行结果:    View Code 说明:通过结果我们知道如下信息。 1. 在Java中,中文在...