labview四字节转浮点数_LabVIEW串口通信浮点小数转四个字节和数据打包

LabVIEW

串口通信浮点小数转四个字节和数据打包

LabVIEW

编程的虚拟仪器,作为

PC

与单片机的上位机,十分直观方便。

LabVIEW

中控制串口使用

VISA

十分方便。

串口通信都是发送的一个一个字节,字节中包含需要的信息,有些需要多个

字节的组合才能传递一个完整的信息。

一般的数据通信都是通过数据包来传递信

息的,现在我们要用

LabVIEW

向单片机发送单精度浮点小数。

现在遇到一些问题:

1.

串口发送的都是字节,怎样把浮点小数转换成字节?

2.LabVIEW

VISA

串口的写入传送的字符串,如果直接发字符串,单片机得

到是字符的

ASCII

码,单片机无法解析成需要的浮点小数。如何把字符串转换成

相应的字节?

3.

数据一直向串口传输,为便于单片机解析出想要的数据,如何进行打包?

问题

1

浮点小数在计算机中的存储遵循

ieee754

协议,实际上一般情况下,各种仪

器发送的数据都是按照

ieee754

协议转换成的字节数据包。我们传递浮点小数,

可以按照

ieee754

协议转换成字节数组。

例如单精度浮点小数

8.25

转换成字节数组用十六进制表示为

41 04 00 00

四个字节。那么如何通过

LabVIEW

实现呢,我这儿有个程序利用强制转换来实

现,不知是哪位大神写的,反正是十分方便、有效,确实很

NB

。因为关于强制

转换,

LabVIEW

帮助和网上根本查不到资料,尤其是其上端的连线

--

类型,根本

不知道连接什么量。

程序框图主要利用强制转换和数据拆分来实现

ieee754

协议转换为四个字符

串。

单精度数字

SGL

(单精度浮点型)类型,经过强制转换,变成

I32

(

32

位长整形)类型,再

经过两次拆分,得到四个

U8

(无符号字节,

8

位整型)类型的数据,再经过数值至十六进

制字符串转换,字符宽度为

2

,得到十六进制整型字符串,再将

4

个字符连接起来。

8.25

换得到

41040000

前面板如下:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值