我试图将python float通过UART发送到嵌入式c处理器,即NXP的MKE14。在python中,我使用Struct库生成一个32位的float并通过UART发送它。我检查了两个浮子推进和那里都是“IEEE-754”。你知道吗
我发送十进制:5.490715十六进制:0x40,0xAF,0xB3,0xF0
我接收“经度”十进制:1085256688十六进制:0x40,0xAF,0xB3,0xF0
浮点转换十进制后:1085256704十六进制:0x40、0xAF、0xB4、0x00
这一定是一些转换问题,我收到正确的数据包,但表示是完全不同的。你知道吗
两个系统上使用的代码都在附件中。你知道吗
不能通过强制转换将整数位模式转换为
float
。它只是将整数转换为最近的浮点数,而不是将位重新解释为float
。如果它像你想的那样工作,这个:将
x
设置为7.175E-43
,这不是很方便。你知道吗最好的方法可能是复制位,所以替换
签署人:
获取指针并将其类型转换为浮点指针:
或使用工会:
就你而言:
相关问题 更多 >
编程相关推荐