32位单精度IEEE-754浮点数转换为10进制数
请问谁接做过32位单精度IEEE-754浮点数的数据采集,LabVIEW如何实现将其转换为十进制数?转化的方式如下图,用C好实现,但是用LabVIEW简直觉得不可思议。
http://www.mufenglv.com/forum.ph ... &extra=page%3D4
小草哥,原来还有这么一个LV交流学习的网址啊,挺好的,以后多多报到。
没有电子发烧友这么热闹,
多一个学习的渠道总是好的,而且感觉那里做得也很不错,会多多学习
小草哥,请教俩问题:1.一起LabVIEW这个网站我昨天到现在一直不能验证啊,搞得我不能在那里回复,验证的链接点了上十次也不发我邮箱让我验证。2.“【LV8.6】IEEE-754十六进制数转换十进制浮点数”这个程序看了,直接字符串转换可以,但是如果是串口读取的字符串转换就不对了,不知道是什么原因?
还没解决,谁来解答一下
强制转换不行啊
你要保证输入的是16进制显示格式下的字符串。
很简单啊,我最近也做了啊,将接收的4字节字符串转换为单精度浮点数,labview思路是:
将接收到的4字节字符串反转(让低位在左,高位在右),强制转换(表现法设置为单精度SGL),输出就是浮点数,看图。
有兴趣可以讨论下,我最近就在做422协议,串口通信方面的,上次也是碰到4字节的16进制数转换单精度浮点数,就做了个工具,好为以后编程序验证数据的正确性。
已经解决了,是这个问题
对,是你这样的,和你差不多,也是采集的数据先反转,但是我没注意到表示格式为SGL的问题,谢谢
我的 问题已经解决了,你这个做得挺好的。一直在做串口数据采集的,采集了很多种硬件设备的,现在就是有一个问题,就是频率一直做不到很高。刚好想请教一下,在做串口高速数据采集的时候,我一般是用延时控制采集的频率,读取一次处理一次,顺序执行。这样经常会因为时间控制的不精确性,导致不能读取完整的一帧数据。最好的方法应该是生产者读取所有的数据保存在队列,消费者一帧一帧(数据帧有帧头和帧尾校验)的提取处理,可是我消费者循环该如何保证每次都是提取完整的一帧数据呢?或者说你是如何保证串口数据采集的高频率呢?
在生产和消费外面建一个while作为一个线程,这样就不会漏数据,就可以高频采集
草神你好,这个网页已经不在了,麻烦您能重新发个链接,或者上传一下源文件吗?多谢!
已解决,麻烦你了,多谢!