打印
[求助讨论]

新手求教!STM32采集的数据如何在Labview上拆开显示

[复制链接]
2361|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JayShen|  楼主 | 2018-6-9 15:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用的是STM32M4系列的板子,用一个ADC,12位分辨率,独立模式,3通道采集发送,DMA缓存大小设置为15,然后使用的是重定向过的        printf("%.2f",ADC_ConvertedValueLocal[0]) 发送给上位机串口,ADC_ConvertedValueLocal数组大小为3,在Labview上接收到后是类似“3.303.303.303.293.303.303.303.303.303.”这样的数据,该如何分别提取三个通道的数据呢?
备注:发送的数组为uint16_t数据类型,串口配置为8-N-1,115200,
网上查过资料,有的是利用终止符,有的是将三个数组的数据打包封装成一帧数据,然后在Labview上通过字符串偏移拆开,再组合用波形图表显示。
   我现在的问题是被发送的数组数据是16位,而调用的发送库函数是发送字节的,在Labview上VISA节点的读数大小为多少?该如何拆开分别显示呢?有没有哪位前辈有这方面的相关程序发来借鉴一下呢,现在是越搞越乱~~~~

相关帖子

沙发
JayShen|  楼主 | 2018-6-10 14:43 | 只看该作者
大佬都休息了嘛

使用特权

评论回复
板凳
JayShen|  楼主 | 2018-6-11 09:20 | 只看该作者
版主都不回复了

使用特权

评论回复
地板
perry_peng| | 2018-6-11 11:36 | 只看该作者
给个简单思路:3组12bit ADC,3个word可以装下,将这6个byte直接发送到串口,发送前先发送帧头(如0x55,0xaa)。labview空闲时每次读一个byte直到收全帧头,然后再连续读6个byte,由labview还原3组ADC采样。你甚至可以改进在帧尾加上checksum也是可以的。

使用特权

评论回复
5
yklstudent| | 2018-6-11 12:26 | 只看该作者
就别用printf发送,自己写发送函数

使用特权

评论回复
6
JayShen|  楼主 | 2018-6-11 20:57 | 只看该作者
perry_peng 发表于 2018-6-11 11:36
给个简单思路:3组12bit ADC,3个word可以装下,将这6个byte直接发送到串口,发送前先发送帧头(如0x55,0xa ...

首先非常感谢您的解答。
我的下位机(STM32)中编写了一个简单的数据滤波,就是DMA缓存设置为15,定义一个二维数组存放[5][3],再转置为[3][5],即每行的5个数据为每个通道所采集采集的数据,然后我对这5个数据进行去极值后平均化后,分别存放于另外一个一位数组[3],然后printf送到串口。您说的帧头数据需要单独发送,还是和6字节的数据一起打包发送呢?发送到串口使用 USART_SendData这个库函数而不printf函数对吧?Labview接收数据后,VISA中Read节点上的接收数据大小应该设置多少合适呢?大佬你您可以发一套类似的案列程序给我参考一下嘛

使用特权

评论回复
7
JayShen|  楼主 | 2018-6-11 20:57 | 只看该作者
yklstudent 发表于 2018-6-11 12:26
就别用printf发送,自己写发送函数

我也怀疑过是不是这个问题,是不是实际应用的时候都是直接用 USART_SendData这个函数发送的呢

使用特权

评论回复
8
yklstudent| | 2018-6-12 08:44 | 只看该作者
JayShen 发表于 2018-6-11 20:57
我也怀疑过是不是这个问题,是不是实际应用的时候都是直接用 USART_SendData这个函数发送的呢 ...

自己写寄存器版本就可以不用,但是功能应该都是一样的

使用特权

评论回复
9
JayShen|  楼主 | 2018-6-12 12:46 | 只看该作者
yklstudent 发表于 2018-6-12 08:44
自己写寄存器版本就可以不用,但是功能应该都是一样的

好的

使用特权

评论回复
10
jstaoyan| | 2018-7-5 15:17 | 只看该作者

使用特权

评论回复
11
songchenping| | 2018-7-8 11:05 | 只看该作者
labviewz中有可以用的例程,里面可以改动一些参数既可以使用,前提是你要想清楚具体实现,labview只是工具而已。
不要做不出来就怪labview不行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

0

粉丝