labview通讯得到的字符串如何转化为实际数据,这个问题一直困扰着labview初学者,如果走通的这一步,项目的数据采集核心问题才能得到解决。下面我们来分析下,字符串和数据之间是怎样进行转化的。
这是U8, FLOAT,double数据转化成的16进制字符串
显示为正常字符会变成乱码,原因是数据在计算机中是以二进制存储
例如将 12.842356保存成单精度浮点格式
0 10000010 10011010111101001001010,十六进制格式为:0x414D7A4A。
弄清楚了数值到字符串的过程后,接下来,我们通过这个例子把字符串转化为数据:
某仪器厂家通讯参数如下:
获取到字符串如下:
且已知改字符串对于数据3.000x00
通过通讯协议可知:数据存储于第4个字节开始的长度为4字节的字符串。
通过以上方式,把16进制或者正常显示字符串转化为单精度浮点型,要注意有些仪器会将高16位和低16位顺序颠倒,此时需要根据具体情况调整。
如需将10进制字符串和16进制字符串互转,请参考以下代码
如果觉得本文对你有帮助,请帮忙转发,谢谢!