使用QMI8658六轴原始数据融合输出欧拉角笔记

关于四元素和三维旋转的知识,推荐看一下https://github.com/Krasjet/quaternion。

  1. qmi8658六轴姿态传感器的原始数据读取函数如下。需要注意的是,陀螺仪数据的格式。
void Qmi8658_read_acc_xyz(float acc_xyz[3])
{
   
   
    unsigned char	buf_reg[6];
    short 			raw_acc_xyz[3];

    Qmi8658_read_reg(Qmi8658Register_Ax_L, buf_reg, 6); 	// 0x19, 25
    raw_acc_xyz[0] = (short)((unsigned short)(buf_reg[1]<<8) |( buf_reg[0]));
    raw_acc_xyz[1] = (short)((unsigned short)(buf_reg[3]<<8) |( buf_reg[2]));
    raw_acc_xyz[2] = (short)((unsigned short)(buf_reg[5]<<8) |( buf_reg[4]));

    acc_xyz[0] = (raw_acc_xyz[0]*ONE_G)/acc_lsb_div;
    acc_xyz[1] = (raw_acc_xyz[1]*ONE_G)/acc_lsb_div;
    acc_xyz[2] = (raw_acc_xyz[

你可能感兴趣的:(使用QMI8658六轴原始数据融合输出欧拉角笔记)