【发布时间】:2018-11-13 12:30:58
【问题描述】:
我通过 I2C 从传感器读取了两个字节,这些字节存储为 unsigned char。我确实知道哪个是最重要的字节,哪个是最不重要的字节。
unsigned char yawMSB;
unsigned char yawLSB;
如何将这两个字节的数据转换为一个 int?
我已经在 C# 中使用
正确实现了这个BitConverter.ToInt16(new byte[] { yawLSB, yawMSB }, 0)
【问题讨论】:
-
如果目标类型是
int16_t而不是float,你会怎么做? -
首先您需要阅读传感器的文档。字节中的值实际上代表什么?
-
这些值代表eular 角。我已经在 C# 中使用:
BitConverter.ToInt16(new byte[] { yawLSB, yawMSB }, 0) -
所以你的问题不在于浮点转换,而更多的是关于如何将两个 8 位整数值转换为一个 16 位整数值?
-
哦,废话,你完全正确。不好,我会编辑问题。