一个单精度浮点数占四个字节
我现在知道这个四个字节的内容 如何转换成浮点数
delphi下我用拷贝内存的方式
请问 labview 下如何操作

var  rf:Single;
ida[0]:=$41;ida[1]:=$44;ida[2]:=$cc;ida[3]:=$cd;
   copymemory(@rf,@ida,sizeof(rf));
结果 rf 就是 12.3
上边是用拷贝内存的方式


如果用 协议 规定 那太麻烦了

我在前面的《字节方式通讯》文章中已经谈到的串口字节通讯的问题。

现在涉及的问题是如何把16进制(hex) 方式下的字符串转换成单精度数,以及如何把单精度数转换成HEX字符串的问题。这实际都是数据类型内存转换问题。

1、HEX字符串转换为单精度数

Picture
2、单精度数转换为HEX字符串
Picture
3、输入正常方式下的16进制字符串

一般情况下,我们通常采用HEX方式显示的字符串,直接发送到串口。但是某些情况下,需要在正常方式下,输入16进制字符串。
这种情况下,可以采用U8数组的输入方式,进制设置为16进制,这样可以有效地避免错误的输入。输入被限制在0-9和a-f 之间。

如果直接采用字符串输入,需要设置合适的间隔符号,比如逗号、空格等,并需要做相应的转换。程序框图如下所示:

Picture
Picture
 





Leave a Reply.