labview通讯获取的字符串不会转化为浮点数据?多种方法解决这个问题,快来看看吧!

labview通讯得到的字符串如何转化为实际数据,这个问题一直困扰着labview初学者,如果走通的这一步,项目的数据采集核心问题才能得到解决。下面我们来分析下,字符串和数据之间是怎样进行转化的。

这是U8,  FLOAT,double数据转化成的16进制字符串

显示为正常字符会变成乱码,原因是数据在计算机中是以二进制存储

例如将 12.842356保存成单精度浮点格式

0 10000010 10011010111101001001010,十六进制格式为:0x414D7A4A。

弄清楚了数值到字符串的过程后,接下来,我们通过这个例子把字符串转化为数据:

某仪器厂家通讯参数如下:

获取到字符串如下:

且已知改字符串对于数据3.000x00

通过通讯协议可知:数据存储于第4个字节开始的长度为4字节的字符串。

通过以上方式,把16进制或者正常显示字符串转化为单精度浮点型,要注意有些仪器会将高16位和低16位顺序颠倒,此时需要根据具体情况调整。

如需将10进制字符串和16进制字符串互转,请参考以下代码


 

如果觉得本文对你有帮助,请帮忙转发,谢谢!

 

  • 13
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值