找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 913|回复: 4

想弄明白labview数据拆包与一般程序如C,delphi的区别

[复制链接]
发表于 2009-10-4 16:48:57 | 显示全部楼层 |阅读模式
各位朋友,我在编写LabVIEW程序时遇到一些疑问
我要实现的功能是对从串口读出的数据(多个不同的数据)进行拆包,如温度,电压,电流三个数据,它们下位机协议为#01温度*
#02电压*,#03电流*
在C里面,我只需对sbuf进行判断,利用case 语句,就不必知道从串口发过来数据的顺序到底是三个哪个为先,都可以拆包
但是在LabVIEW里面我试验过两种方法,一是匹配,截取,字符串的方法
一种利用截取数组的方法,两种方法必须知道串口发送的数据哪个先,哪个后才可以,否则不正确
不知在LabVIEW里面,假若不知道顺序,能不能像C语言一样很灵活地判断呢,不知哪位高人能够帮忙指点一下,不胜感谢!!
发表于 2009-10-5 08:16:23 | 显示全部楼层
在单片机中,每收一次有一个中断,所以不会乱!任意字符均可以接收到!如果在单片机中还有其他工作,并且用扫描的形式来读,一样会乱的!因为它只有一个字节缓冲,随时会被覆盖!LABVIEW中如果缓冲区开小了,数据量也大,也会出现这样的问题!
回复 顶

使用道具 举报

发表于 2009-10-5 08:16:55 | 显示全部楼层
LABVIEW中可以将读取的放在队列里面,再判断是不是相应的数据开始,然后再处理,咱们论坛有一个例子的,可以看一下!
回复 顶

使用道具 举报

发表于 2009-10-5 08:17:28 | 显示全部楼层
串口通信中数据篡位的彻底解决办法:队列缓冲数据!附程序!
http://www.cpubbs.com/bbs/viewthread.php?tid=63745&fromuid=19
回复 顶

使用道具 举报

 楼主| 发表于 2009-10-5 10:09:05 | 显示全部楼层
极力谢谢版主的指导,谢谢
回复 顶

使用道具 举报

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

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 10:23 , Processed in 0.028114 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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