<B>以下是引用<I>wdyjz</I>在2005-3-4 22:20:36的发言:</B>
2.2、字符串型数据的处理方法:
< >
< >
< >
我们在处理过程当中,传输的数据可能具有一定格式或协议,比如一个完整的数据帧包括起始段、数据段、校验段等等,而每一段往往又有几个部分组成,这几个部分的类型和长度可能又不尽相同,可能是数值型的,可能是字符型的,也可能是布尔型的,单字节或者是多字节。此时我们往往都采用统一的字符形式来处理这些数据,因此有时候我们说,字符是LabVIEW里最方便的数据类型。
<P>
<P>
<P>
<P>
<P>
经过打包的字符数据要经过串口发送需要进行必要的转换,否则传输将出错。比如我们打包过后需要发送的的字符串为:34 12 56 78 94(空格为了区分),如果直接将其赋给VISA Write发送,串口上的数据将是:33 34 31 32 35 36 37 38 39 34。</P>
<P>正确的转换程序我没有看到 不明白,请给我发到邮件好么,谢谢 wdyjz@126.com</P>
<P>lv传输的是ASCII码,所以才会出现你发现的现象。你可以自己转一下,你会发现了。
解决的办法是将你需要的数据,转换一下:
<P>在发送之前首先要将其转换成对应的16进制字符串,才能赋给VISA Write发送。将这些数据构成一个数组,用Byte Array To String进行转换,转换的结果就是对应数组数值的字符串,可以提交VISA Write发送。或者使用Type Cast也可以实现同样的功能。</P>
[此贴子已经被作者于2005-3-5 10:16:51编辑过]
|