正在从UART字符数组重建浮点值



我正试图通过UART将浮点值发送到PC,并从各自的char数组中重建这些浮点值。我如何将32位浮点值转换为char如下:

float value = 42.83f;
unsigned char *ptr = &value;

并且在Python脚本中接收到的值是:

[236, 81, 43, 66, 4, 42]

如何将此char数组强制转换回42.83f

谢谢!

我解码的方式可能很奇怪,但我收到的两个元素比浮点解码所需的多。目前这是我的快捷解决方案:我从列表中弹出最后两个元素,这意味着我还有4个字节而不是6个字节。然后,我使用以下代码来重建浮点值。

print("Processing...")
# process the data block
result_data.pop()
result_data.pop()
bytes_of_result = bytes(result_data)
print(bytes_of_result)
final_value = struct.unpack('f', bytes_of_result)
print(final_value)

相关内容

  • 没有找到相关文章

最新更新