串口字节方式传递单精度数 10/16/2009
一个单精度浮点数占四个字节 我现在知道这个四个字节的内容 如何转换成浮点数 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字符串转换为单精度数 2、单精度数转换为HEX字符串 3、输入正常方式下的16进制字符串 一般情况下,我们通常采用HEX方式显示的字符串,直接发送到串口。但是某些情况下,需要在正常方式下,输入16进制字符串。 这种情况下,可以采用U8数组的输入方式,进制设置为16进制,这样可以有效地避免错误的输入。输入被限制在0-9和a-f 之间。 如果直接采用字符串输入,需要设置合适的间隔符号,比如逗号、空格等,并需要做相应的转换。程序框图如下所示: CommentsLeave a Reply |





RSS Feed

