博客首页 | 排行榜 |

csxcs366的博客--LABVIEW CVI

http://labview.weebly.com/ 群:80754347 群:78561268 群:37591940

个人档案
博文分类
网友问答之串口字节方式传递单精度数  2009-10-16 12:47

 一个单精度浮点数占四个字节
我现在知道这个四个字节的内容 如何转换成 浮点数
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
上边是用拷贝内存的方式

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

 

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

http://www.eefocus.com/blog/csxcs366/09-09/176700_6a983.html

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

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

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

3、输入正常方式下的16进制字符串,

一般情况下,我们通常采用HEX方式显示的字符串,直接发送到串口。但是某些情况下,需要在正常方式下,输入16进制字符串。

这种情况下,可以采用U8数组的输入方式,进制设置为16进制,这样可以有效地避免错误的输入。输入被限制在0-9和a-f 之间。

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

 

类别:网友问答 |
上一篇:网友问答之如何计算系统时间  | 下一篇:黑色幽默----春风吹又生?
以下网友评论只代表其个人观点,不代表本网站的观点或立场