2.5条悟 2023-12-15 17:49 采纳率: 100%
浏览 5
已结题

Uart怎么解析二进制浮点数

我是打算在stcisp的串口助手输入一个ieEe754格式的浮点数,然后通过程序处理后再发送回串口助手。
我的思路是想用uartroutine interrupt 4来对输入的数据进行处理,处理完后的数据是浮点数,再把这个浮点数他通过uartsendbyte函数发送回串口助手。
但是最后要么是没有数据发送回来,要么都是0😭
处理方法是在网上找的
求个佬帮帮我

img

img

img

(上图是网上找的处理方法)

img

  • 写回答

1条回答 默认 最新

  • 风神白桃 2023-12-15 20:05
    关注

    在单片机上,Uart主要用于解析二进制浮点数。首先,我们需要将UART从输入设备读取到的二进制浮点数保存在内存中,这一步中我们常使用硬件FIFO和数据队列的方式来处理。接下来,使用单片机的内部控制系统将输入的二进制数解析成一个格式正确的浮点数。

    在解析浮点数时,会首先检查有效位数,确定输入的数值是否符合有效浮点数的格式。这就类似于在IEEE-754标准中的S、E和M段的检查。

    然后,解析浮点数的小数部分和整数部分。具体的步骤如下:首先,将整数部分的二进制数表示成十进制,然后将小数部分的二进制数表示成十进制。这个过程就像是将二进制浮点数的小数部分转换成十进制的过程。然后,再将整部分和小数部分合并在一起,得出最终的浮点数。

    注意:以上解析过程可能因为单片机的硬件差异而有所不同。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月25日
  • 已采纳回答 12月17日
  • 创建了问题 12月15日