| mpu6050静止时,stm32作主控板,芯片水平朝上放置,Z轴加速度为1G,但是当我180度翻转时,z轴加速度为2G,我再摆动Z轴此时变为-1.9G,再搬动就慢慢变动0再到水平1G。。为什么不是从-1变。 部分代码
 void InitMPU6050()
 {
 my_i2c_Configuration();//  端口配置
 my_i2c_ByteWrite(PWR_MGMT_1, 0x00);          //复位模式
 my_i2c_ByteWrite(SMPLRT_DIV, 0x07);   //1KHZ 陀螺仪采样频率
 my_i2c_ByteWrite(CONFIG, 0x06);     //配置  陀螺仪Y     19ms 18ms采集,这个重新设置
 //my_i2c_ByteWrite(CONFIG, 0x03);     //配置  陀螺仪Y     4.9ms加速度 4.8ms陀螺仪采集一次,这个重新设置
 my_i2c_ByteWrite(GYRO_CONFIG, 0x18);     //2000° 无自检   16.4每位
 my_i2c_ByteWrite(ACCEL_CONFIG, 0x01);    //加速度满量程+-2g
 }
 int16_t GetData(uchar REG_Address)
 {
 int16_t DataTemp;
 uint8_t L,H;
 
 H=my_i2c_ByteRead(REG_Address);
 L=my_i2c_ByteRead(REG_Address+1);
 
 //  printf("H=%d,L=%d",H,L);
 DataTemp=(H<<8)|L;
 return DataTemp;
 }
 Mpu6050_DataStruct.ACCEL_Z=GetData(ACCEL_ZOUT_H)/16384.0;  //获取Z轴加速度
 
 |