为什么在teapotPacket []数组中没有传递索引2,3,6,7,10,11的“fifoBuffer”值?

时间:2017-01-26 08:53:22

标签: arduino-uno interfacing mpu

我正在使用Jeff Rowberg的MPU6050库。在代码中,整个fifobuffer不会传递给'teapotPacket'数组(用于处理,即图形仿真)。为什么只有某些索引在'teapotPacket'数组中传递?(确切地说,只传递下面给出的索引)

teapotPacket[2] = fifoBuffer[0];
teapotPacket[3] = fifoBuffer[1];
teapotPacket[4] = fifoBuffer[4];
teapotPacket[5] = fifoBuffer[5];
teapotPacket[6] = fifoBuffer[8];
teapotPacket[7] = fifoBuffer[9];
teapotPacket[8] = fifoBuffer[12];
teapotPacket[9] = fifoBuffer[13];

请再澄清一下,为什么'teapotPacket'数组初始化为$,十六进制数字和'\ n'& '\ r'字符?

uint8_t teapotPacket[14] = { '$', 0x02, 0,0, 0,0, 0,0, 0,0, 0x00, 0x00, '\r', '\n' };

1 个答案:

答案 0 :(得分:0)

重复的问题:Why “fifoBuffer” values of indexes 2,3,6,7,10,11 are not passed in the teapotPacket[] array?

为了完整起见,在此处再次引用我的答案:

  

在代码中,当将数据传递到Teapot库(用于处理,即图形仿真)时,不会传递整个fifobuffer。为什么会这样?

深入研究库代码,我发现它只是一种用于显示四元数值的“ InvenSense Teapot演示”格式。

  

为什么用这些奇怪的十六进制数字初始化teapotPacket [14]数组?

它是InvenSense茶壶的数据包结构格式,用于存储传感器读数(如四元数值)。

有关:“四元数值”的更多信息:

四元数是一个数字系统,用于扩展用于三维旋转(例如在三维计算机图形学,计算机视觉和晶体结构分析中)的复数。