Labview串口通信如何获得以帧头为首的数组? 10

程序如上,每次读通信33位,我想获得以85为首的数组要怎么?后面要对这些数据分析,会有部分被截短造成乱码... 程序如上,每次读通信33位,我想获得以85为首的数组要怎么?后面要对这些数据分析,会有部分被截短造成乱码 展开
 我来答
糖糖寳寳
2015-09-07 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3955万
展开全部
  1、首先是要确认仪器选择的通信模式是串口通信模式。
  现在的仪器一般都至少有二种通信模式,一种是RS232,一种是GPIB,如果仪器是设置为GPIB通信的话,RS232是不可能通信上的,所以要先确认一下,方法一般是在仪器面板上选择设置>>远程控制>>GPIB/RS232,各个仪器稍微不同,可以查仪器手册看一下。
  2、 然后就是确认串口的通信参数的配置,包括波特率、数据长度、校验方法等,有些仪器的某些参数是固定的,比如校验方法固定为奇校验,不能修改,只能在电脑上跟仪器设置为一样的。
  4、波特率一般是可以修改的,这些参数的配置一定要根据仪器手册上的来设置。如果参数设置不正确,也能收到一些数据,但一般是乱码,如果收到的数据都是乱码的话,就要先检查一下串口参数设置是否正确了,只有电脑和仪器边的串口参数完全一致时才能收到正确的数据。
  5、接着是要注意发送指令和读回数据之间要有一定的延时,即VISA WRITE和VISA READ之间要有一定的延时,一般200毫秒即可,因为串口是底层硬件,数据从软件到串口上要一点点时间,然后仪器对指令作出响应也要一点点时间,这些时间加起来肯定比软件运行二个节点的时间要短,所以延时是一定要加的。
  6、在调试时如果发现正常运行时不能收到数据,但高亮运行就能收到数据,就很有可能是没有加延时的原因,或者是发一个查询指令,但返回的是上一条查询指令的结果,也可能是因为没有延时或延时不够。
coldice899
2014-09-04 · 超过24用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:47.4万
展开全部
你每次去找帧头,先读取1个字节,和85比较,等于85再读取剩下的32位。带帧头的串口数据读取都应该这样做的
追问
给个程序好么,我知道这个意思但是不知道怎么做。Orz
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
焊板子的兔子
2014-09-03 · TA获得超过879个赞
知道小有建树答主
回答量:275
采纳率:50%
帮助的人:163万
展开全部
肯定是要先比较帧头再进行截取啊,不能先截取,肯定会截乱
追问
我知道这么整,但是具体操作不会。求程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式