• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何把4字节16进制数转成10进制浮点型数据

韩梅梅 2021-03-18 浏览量:1673
大佬们好,最近做一个工装,买了个带485通信得电压表,通信返回得数据是:41 AB 09 0C 例程里转换成浮点型约为21.38v,
现在我请问,如何在单片机中处理这个数据,得到这个电压值。谢谢!
百度了,也没看明白。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 定义一个浮点数变量,然后定义一个uchar数组有4个元素把4个字节写入数组,然后用把4个数据通过指针写入浮点数类型的首地址,最后用printf打印浮点数变量,主要4个字节的大端和小端模式,不对的话就颠倒数据试试看
    • 发布于 2021-03-18
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 这个要看数据手册吧,要知道数据的结构,不是一个例程信息就能看出来的。 不过也不是想的那么麻烦,无非2这3种可能 1.传递的直接是浮点数据,但需要解析 2.传递的是整形数据,需要解析和计算 3.传递的是表示数字的字符串
    • 发布于2021-03-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 我认为使用一个union联合体变量,两者共同占用一个空间,就能直接读到浮点型数据是多少了。
    • 发布于2021-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 用一个int的先把四个byt转换了,再转换成float的
    • 发布于2021-03-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 用指针的方式进行类型转换后,再取出变量值就可以了
    • 发布于2021-04-07
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何把4字节16进制数转成10进制浮点型数据